检查发现是DataNode一直连接不到NameNode。
检查各个节点在etc/hosts中的配置是否有127.0.1.1 xxxxxx。如果有把其屏蔽或者删除,重启各节点即可。
原因:127.0.1.1是debian中的本地回环。这个造成了hadoop解析出现问题。这个设置应该是在做伪分布式的hadoop集群的时候,留下来的。如果照上面的方法还是出现同样的问题,或者etc/hosts目录并没有127.0.1.1的设置的话。
那么可以在conf/core-site.xml (0.19.2版本的为conf/hadoop-site.xml)中增加以下内容
<property> <name>hadoop.tmp.dir</name> <value>/var/log/hadoop/tmp</value> <description>A base for other temporary directories</description> </property>
重启hadoop后,重新格式化namenode即可。
原因是:hadoop默认配置是把一些tmp文件放在/tmp目录下,重启系统后,tmp目录下的东西被清除,所以报错