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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章