解决此类问题的最根本的方法是看无法启动的原因。最根本的在启动时下方报的错误信息,具体的在logs里面。
切记:不要重新搭建集群,而是遇到了问题努力的解决。
无法启动的原因如下:
当我们使用hadoop namenode -format格式化namenode时,会在namenode数据文件夹(这个文件夹为自己配置文件中dfs.name.dir的路径)中保存一个current/VERSION文件,记录clusterID,datanode中保存的current/VERSION文件中的clustreID的值是上一次格式化保存的clusterID,这样,datanode和namenode之间的ID不一致
另一种解决办法:
hdfs-site.xml里配置的datanode和namenode对应的目录,分别打开current文件夹里的VERSION,可以看到clusterID项正如日志里记录的一样,确实不一致,修改datanode里VERSION文件的clusterID 与namenode里的一致,再重新启动集群后再执行jps命令可以看到datanode已正常启动。
解决问题的方法:注:(/opt/apps/hadoop-2.6.1/tmp 是我自己的目录,大家各有不同)
1、关闭集群 stop-all.sh 必须关闭,切记,勿忘。
2、删除/opt/apps/hadoop-2.6.1/tmp 下面文件 【每个节点操作】
3、删除/usr/local/src/hadoop-2.6.1//logs 下面文件 【每个节点操作】
4、重新格式化 hadoop namenode -format 【只在master上操作】
5、启动集群 start-all.sh
其他错误: ![]()
此类错误是粗心造成的,查看slaves 文件 看看各个节点有没有配对
本文详细解析了Hadoop集群无法启动的常见原因,包括namenode与datanode的clusterID不一致的问题,并提供了具体步骤来解决这一问题,如关闭集群、清理临时文件、重新格式化namenode等。
4600

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



