执行bin/hdfs namenode -format 格式化完文件系统后slave 的datanode无法启动,具体查询可以用命令hdfs dfsadmin -report 查询,表现为live datanode 为0,slave 查询日志表现为ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid 5c0f6885-f507-4300-8a77-93576559d5f8) serv
ice to hadoop01/192.168.237.133:9000. Exiting. 
java.io.IOException: All specified directories are failed to load.

hadoop格式化系统后datanode无法启动问题解决

hadoop格式化系统后datanode无法启动问题解决

原因分析:当我们执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.namenode.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录clusterID,标识了所格式化的 namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的 id 不一致。
解决方法:将namenode节点clusterID复制到datanode去

namenode 

hadoop格式化系统后datanode无法启动问题解决

slave1

hadoop格式化系统后datanode无法启动问题解决

slave2

hadoop格式化系统后datanode无法启动问题解决

然后重启./stop-all.sh  ./start-all.sh 

再查看

hadoop格式化系统后datanode无法启动问题解决

相关文章: