由于之前安装hadoop-2.5.0版本,一直都可以相关节点都可以起来。今天手贱格式化namenode,造成datanode启动失败。
[root@xp hadoop-2.5.0]# sbin/hadoop namenode -format

格式化后想启动datanode 如图所示
hadoop多次格式化namenode造成datanode无法启动问题解决
2.接着查看datanode日志
[root@xp logs]# tail -50 hadoop-root-datanode-xp.log

hadoop多次格式化namenode造成datanode无法启动问题解决

按日志内容来看,namenode和datanode的clusterID不一致。突然想起来之前格式化了两次namenode,应该是由于namenode多次格式化造成了namenode和datanode的clusterID不一致!每次格式化时,namenode会更新clusterID,但是datanode只会在首次格式化时确定,因此就造成不一致现象。

3.根据日志路径提示找到clusterID 。
hadoop多次格式化namenode造成datanode无法启动问题解决

4.直接/opt/modules/hadoop-2.5.0/data/dfs/name/current/VERSION 中的clusterID复制替换/opt/modules/hadoop-2.5.0/data/dfs/data/current/VERSION 中的clusterID。

hadoop多次格式化namenode造成datanode无法启动问题解决

5.最后重启hadoop相关节点服务,最后DataNode已经正常运行。
hadoop多次格式化namenode造成datanode无法启动问题解决