自己搭建的集群,启动hadoop时slave节点的datanode没有启起来怎么办?

自己搭建的集群,启动hadoop 集群是,发现slave节点的datanode没有启动,查了资料发现是因为我在启动集群前,执行了这个命令:

hadoop namenode -format

这个指令会重新格式化namenode的信息,这样可能会导致master节点的VERSION信息跟datanode的信息对不上,导致指令无法同步。

查看VERION信息:

master 的 namenode 信息: > cd /usr/local/src/hadoop-2.6.1/dfs/name/current > cat VERSION #Tue Aug 18 01:43:38 EDT 2020 namespaceID=1008709700 clusterID=CID-c3345186-922b-4010-bb38-cdc135bc1afe cTime=0 storageType=NAME_NODE blockpoolID=BP-266453957-192.168.56.10-1597729418207 layoutVersion=-60 slave 的 datanode信息 > cd /usr/local/src/hadoop-2.6.1/dfs/data/current > cat VERSION #Sat Aug 24 04:47:43 EDT 2019 storageID=DS-40ea875f-c037-49d3-b6e9-da8e9ff1d4eb clusterID=CID-adbba37c-a4d3-4b60-8d1b-3ac22ee863df cTime=0 datanodeUuid=d7f1a2f9-4604-4bf1-a1c7-90d553fb62b8 storageType=DATA_NODE layoutVersion=-56

可以看到,namenode 和 datanode 的 clusterID 不一样,可以认为两者所在的集群是一样的。

这时有一个解决办法,在我这个场景下测试过有效:

第一步:停止集群: > ./hadoop-2.6.1/sbin/stop-all.sh 第二步:删除logs文件夹和tmp文件夹 > rm -rf /hadoop-2.6.1/logs > rm -rf /hadoop-2.6.1/tmp 第三步:查看VERSION文件是否存在,如果存在的话,把它删除: > cd /hadoop-2.6.1/dfs/name/current > ls -l 如果有VERSION文件,直接删除: > rm -f VERSION 第四步:所有slave节点删除VERSION文件 > cd /usr/local/src/hadoop-2.6.1/dfs/data/current > rm -f VERSION 第五步:格式化namenode > namenode -format 这一步如果不执行的话,直接启动集群会导致master节点没有namenode 第六步:启动集群 > ./hadoop-2.6.1/sbin/start-all.sh 第七步:查看是否各个进程都启起来了: master: > jps 16595 Jps 16216 RunJar 15595 NameNode 15917 ResourceManager slave : > jps 8369 NodeManager 8492 Jps 8271 DataNode 第8步,查看master和slave节点的VERSION master: > cat VERSION #Tue Aug 18 01:59:54 EDT 2020 namespaceID=2000705856 clusterID=CID-5e8393c4-8eec-4f49-8be2-5935c1e215d7 cTime=0 storageType=NAME_NODE blockpoolID=BP-1566447260-192.168.56.10-1597730394165 layoutVersion=-60 > cat VERSION #Tue Aug 18 02:01:23 EDT 2020 storageID=DS-d47a197e-c210-4dac-bc78-dfd1c4338bb2 clusterID=CID-5e8393c4-8eec-4f49-8be2-5935c1e215d7 cTime=0 datanodeUuid=1c8cea38-f6ad-415b-bf53-8e47bd7bacf8 storageType=DATA_NODE layoutVersion=-56

这样就可以了


__EOF__

本文作者水木青枫
本文链接https://www.cnblogs.com/bigband/p/13522883.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   水木青楓  阅读(3933)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示