2016-11-05 72 views
2

嘗試啓動的Hadoop 2.7.3服務數據節點沒有啓動:的Datanode沒有啓動:不相容羣ID的Hadoop

java.io.IOException: Incompatible clusterIDs in /opt/hadoop/tmp/dfs/data: namenode clusterID = CID-4808098e-de31-469d-9761-9a4558fdaf70; datanode clusterID = CID-492135f3-fc08-46f1-a574-878855ae865e 

我已經複製的NameNode羣ID到在TMP文件夾並重新格式化的NameNode的DataNode。另外,我刪除了tmp文件夾,重新格式化並重新開始。

啓動它的唯一方法是每次我想再次啓動時手動刪除tmp foder。

回答

3

當您啓動服務時,您必須每次格式化namenode。 Namenode只能格式化一次。解決方案是刪除臨時文件夾,然後格式化namenode並啓動服務。下次每次啓動服務時都不要格式化namenode bcz,這一步只能執行一次。

+0

確定。問題是我每次停止服務時都會格式化namenode。解決了。謝謝! –

+0

如果我的回答對你有幫助,你能否接受? @gonzalobd – Mahek

0

嘗試使用下面的命令

hdfs namenode -format -clusterId

+0

我已經意識到我做錯了什麼。不管怎麼說,還是要謝謝你! –

0

這並不是說你需要刪除解決這一問題的tmp文件夾。 Datanode/namenode clusterId的格式都沒有幫助。要解決該問題,請執行下一個操作步驟:

  1. 以普通用戶身份登錄。我假設你已經在你的linux中創建了一個hdfs用戶,正如在第二章開始時在Arun C. Murthy的Apache Hadoop YARN'中推薦的那樣。隨着HDFS-site.xml中的幫助下找到您dfs.namenode.name.dirfs.checkpoint.dir,並dfs.datanode.data.dir文件夾。在我的情況下,他們都在/var/data/hadoop/hdfs文件夾中。所以,做cd /var/data/hadoop

  2. sudo rm -r ./hdfs

  3. 住在的/ var /數據/ Hadoop的,做sudo mkdir -p ./hdfs/nnsudo mkdir -p ./hdfs/snnsudo mkdir -p ./hdfs/dn

  4. 無論你在哪裏,做sudo chown hdfs:hadoop /var/data/hadoop/hdfs -R

  5. hdfs用戶身份登錄。在我的情況下,它可以按照su - hdfs完成,因爲'hdfs'也是該用戶的名字。

  6. 現在,您的格式與$HADOOP_HOME/bin/hdfs namenode -format

HDFS記住,通常格式化應該只執行一次,同時設置您的Hadoop環境。
在這個時候,沒有clusterId不兼容性應該是可能的,所以你可以繼續使用你的HDFS。

-1

嘗試尋找的DataNodeclusterId

/usr/local/hadoop/hadoop_store/hdfs/datanode/current(如CID-c9f77ebe-1f8b-4005-91cd-6abfe9443fee

,並使用

./sbin/stop-all.sh<br> 
hdfs namenode -format -clusterId CID-c9f77ebe-1f8b-4005-91cd-6abfe9443fee<br> 
./sbin/start-all.sh<br>