如何在mac OSX上的Hadoop安装过程中找到在核心和映射文件中使用的正确端口?

时间:2012-08-07 08:07:52

标签: hadoop

我最近从Windows转向Mac OS,我正在尝试在Mac OSX 10.7 Lion上安装Hadoop。

core-site.xml文件中,我必须添加一个属性:

<property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:8020</value>
</property>

mapred-site.xml

<property>
    <name>mapred.job.tracker</name>
    <value>localhost:8021</value>
</property>

我试着这样做:

$telnet localhost 8020

$telnet localhost 8021

但我认为它们都没有在我的机器上打开。

telnet localhost工作正常但telnet localhost 8020/8021引发错误:

Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1%lo0...
telnet: connect to address fe80::1%lo0: Connection refused
telnet: Unable to connect to remote host: Connection refused

另外,我无法远程登录我机器的IP地址。我收到这个错误:

Trying 192.168.0.145...
telnet: connect to address 192.168.0.145: Operation timed out
telnet: Unable to connect to remote host: Operation timed out

要找到可用的端口,我尝试运行命令:

$lsof -i -P | grep -i "listen"

但每次运行此命令时,我都会得到不同的IPV6端口。

我不确定如何找到在这两个文件中指定的正确端口?请提出一些建议。

我运行了start-all.sh脚本并输入 jps ,它没有显示namenode pid

'3049 SecondaryNameNode 3181 TaskTracker 2971 DataNode 3190 Jps 3105 JobTracker'

1 个答案:

答案 0 :(得分:0)

如果您知道名称节点的进程ID(您应该能够使用jpsps axww命令找到它),那么您应该能够使用{{1}的输出并按进程ID过滤。应该有一个选项来限制lsof的输出只是给定的pid(我知道使用netstat,替代lsof,你可以这样做,但mac版本似乎没有pid输出选项)。

找到名称节点进程的pid后,运行lsof -i -P并将该输出粘贴回原始问题(编辑问题,不要将其作为评论或答案发布),我们'我会从那里出发。