hadoop集群无法启动datanode节点

我遇到的这种问题是由于我多次格式化namenode造成的,后来启动hadoop集群namenode、SecondaryNameNode都起来了,然后到datanode节点执行jps指令,发现所有的datanode节点都没有起来。

我的解决办法看datanode节点日志:

java.io.IOException: Incompatible clusterIDs in /usr/hadoop/storage/hadoop-2.2.0/hdfs/data: namenode clusterID = CID-6c7f7e70-34ae-4d6d-80e0-7ff3f2bed9a5; datanode clusterID = CID-abba31cb-5e0d-4ea1-83ba-bcc36f0f84a6
 at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:391)
 at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:191)
 at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219)
 at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:837)
 at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808)
 at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280)
 at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222)
 at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664)
 at java.lang.Thread.run(Thread.java:724)

发现应该是clusterID 和namenode的clusterID 不一致造成的,后来到namenode节点,找到用来存放文件系统元数据文件夹:  
我的路径是:【/usr/hadoop/storage/hadoop-2.2.0/hdfs/name/current/】,在其下面有标志版本的VERSION文件,打开找到对应的clusterID,然后修改各个datanode节点的【/usr/hadoop/storage/hadoop-2.2.0/hdfs/data/current】下的各个VERSION文件clusterID,重新启动集群,正常启动。

发布了29 篇原创文章 · 获赞 5 · 访问量 6万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章