Hadoop DataNode 无法连接到主机NameNode
搭建hadoop 完全分布式,踩过的坑;其中一个坑,就是slave节点,不能够连接到master;
第一个:提示无法注册到master 主机:
查看DataNode 可知是不是这个问题;在查看日志的时候,发现是知道master IP;端口和IP都是对的;就一直没往配置主机的方面想;结果发现错在配置;
这个问题是在配置文件 core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
这是监听 本机端口的;
解决方法:把localhost换成ip
第二个坑:就是nameNode 拒绝连接 ;
一开始还怀疑是这个属性的问题dfs.hosts /
查看说明是值为空是允许所有的slave连接;
排除了
网上查不到能解决的方法;在查看日志时,发现了hostname
结果发现是hadoop 需要用到主机名:突然觉得这是个神坑;知道ip还要主机名的;
然后去配置master的hosts文件,把主机名映射添加上去;
结果顺利连接到master;
遇到错误;如果网上没有找到能解决问题的方法,那么日志是能帮助解决问题的最直接资料;
其他网友遇到过:id不一致的,还有防火墙的问题;解决方案参考其他网友的。防火墙的直接设置就好;id不正确的;可尝试去datanode节点修改节点UUID(我没试过,不过在目录找到VSERSION文件可查看到ID);
如果使用ubuntu的,连接不上还有一个坑,DataNode 正常启动,但是在web管理页面只看到一个,在日志中看到还是datanode无法连接到namenode那时因为hosts映射问题:
在/etc/hosts文件中有一个回环地址 127.0.1.1 ,吧这个去掉,换成正常的ip与主机名;
原文http://blog.****.net/a1055186977/article/details/72852112