datanode无法启动的解决办法

[size=medium]1.首先检查端口是否已开启,就是配置文件里面的两个端口,我的是9000,9001。
logs会显示no route to host
解决办法:
用netstat -nat|grep 9000 看有没有信息
如果没有,那就是防火墙的原因,关闭即可
切换root用户,输入 service iptables stop[/size]

[size=medium]2.如果还不能解决,那日志文件应该有如下信息:[/size]
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/sugar/hadoop-0.21.0/data1: namenode namespaceID = 1693206747; datanode namespaceID = 1929113024
[size=medium]这个形成的原因是格式化操作过于频繁,而data目录里current下VERSION记录的datanode的ID 是最初的,导致不匹配。
解决办法:
在namenode下stop-all.sh
删除两个datanode节点的data文件,就是配置文件里dfs.data.dir的文件
重新格式化HDFS
启动 start—all.sh
启动正常。[/size]

你可能感兴趣的:(2013-10)