执行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.


原因分析:当我们执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.namenode.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录clusterID,标识了所格式化的 namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的nameno

在执行bin/hdfs namenode -format后,DataNode无法启动,表现为live datanode数量为0。错误日志显示初始化失败,原因是DataNode与Namenode的clusterID不一致。解决方法是将Namenode的clusterID复制到所有DataNode,然后重启Hadoop服务。
最低0.47元/天 解锁文章
1236

被折叠的 条评论
为什么被折叠?



