我最近从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'
答案 0 :(得分:0)
如果您知道名称节点的进程ID(您应该能够使用jps
或ps axww
命令找到它),那么您应该能够使用{{1}的输出并按进程ID过滤。应该有一个选项来限制lsof的输出只是给定的pid(我知道使用netstat,替代lsof,你可以这样做,但mac版本似乎没有pid输出选项)。
找到名称节点进程的pid后,运行lsof -i -P
并将该输出粘贴回原始问题(编辑问题,不要将其作为评论或答案发布),我们'我会从那里出发。