0

我最近从 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'

4

1 回答 1

0

如果您知道名称节点的进程 ID(您应该能够使用jpsorps axww命令找到它),您应该能够使用进程 ID 的输出lsof -i -P并按进程 ID 进行过滤。应该有一个选项可以将 lsof 的输出限制为给定的 pid(我知道 netstat 是 lsof 的替代方案,你可以这样做,但 mac 版本似乎没有 pid 输出选项)。

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

于 2012-08-07T13:41:26.290 回答