Mag*_*sol 22 ubuntu port networking hadoop
我在VirtualBox中建立了一个分布式Hadoop环境:4个虚拟Ubuntu 11.10安装,一个用作主节点,另外三个用作从属节点.我按照本教程启动并运行单节点版本,然后转换为完全分布式版本.当我跑11.04时它工作得很好; 但是,当我升级到11.10时,它就破了.现在我的所有奴隶的日志显示以下错误消息,重复广告恶心:
INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:54310. Already tried 0 time(s).
INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:54310. Already tried 1 time(s).
INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:54310. Already tried 2 time(s).
Run Code Online (Sandbox Code Playgroud)
等等.我在Internet(和StackOverflow)上找到了此错误消息的其他实例,但没有一个解决方案有效(尝试将core-site.xml和mapred-site.xml条目更改为IP地址而不是主机名;四倍- 检查/etc/hosts所有从站和主站;主站可以无密码SSH到所有从站).我甚至尝试将每个从设备还原为单节点设置,在这种情况下它们都可以正常工作(在这种情况下,主设备始终可以正常工作,如Datanode和Namenode).
我发现的唯一症状就是从任何一个奴隶,当我尝试一个时telnet 192.168.1.10 54310,我得到Connection refused,建议有一些规则阻止访问(当我升级到11.10时必须生效) .
/etc/hosts.allow但是,我没有改变.我尝试了规则ALL: 192.168.1.,但它没有改变行为.
哦,是的,netstat在主人清楚地显示tcp端口54310和54311正在侦听.
任何人都有任何建议让奴隶Datanodes识别Namenode?
编辑#1:在使用nmap进行一些讨论时(参见本文的评论),我认为问题出在我的/etc/hosts文件中.这是为主VM列出的内容:
127.0.0.1 localhost
127.0.1.1 master
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2
192.168.1.13 slave3
Run Code Online (Sandbox Code Playgroud)
对于每个从VM:
127.0.0.1 localhost
127.0.1.1 slaveX
192.168.1.10 master
192.168.1.1X slaveX
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不确定我改变了什么,但NameNode现在总是死亡,除了尝试绑定一个"已经在使用"的端口(127.0.1.1:54310).我显然对主机名和IP地址做错了,但我真的不确定它是什么.思考?
Mag*_*sol 38
我找到了!通过注释掉/etc/hosts文件的第二行(带有127.0.1.1条目的那一行),netstat显示绑定到192.168.1.10地址而不是本地地址的NameNode端口,并且从属VM找到它.Ahhhhhhhh.谜团已揭开!谢谢大家的帮助.
这个解决方案对我有用.即确保您在core-site.xml和mapred-site.xml中的属性中使用的名称:
<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
<final>true</final>
</property>
Run Code Online (Sandbox Code Playgroud)
即master在/ etc/hosts中定义为BOTH主节点和从节点上的xyz.xyz.xyz.xyz master.然后重新启动namenode并检查使用
netstat -tuplen
和查看它是否绑定到"外部"IP地址
tcp 0 xyz.xyz.xyz.xyz:54310 0.0.0.0:* LISTEN 102 107203 -
Run Code Online (Sandbox Code Playgroud)
而不是本地IP 192.168.xy或127.0.xy
| 归档时间: |
|
| 查看次数: |
48559 次 |
| 最近记录: |