您好,登錄后才能下訂單哦!
這篇文章主要講解了“DataNode沒有啟動怎么辦”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“DataNode沒有啟動怎么辦”吧!
問題描述:在master節點上啟動HDFS,通過JPS查看NameNode,SecondaryNameNode等都正常啟動,在slave節點上查看沒有DataNode節點,通過http://localhost:50070查看沒有DataNode節點.
分析原因:無論是NameNode、DataNode,在啟動時都會在$HADOOP_HOME/logs下創建一份日志,并且將啟動的過程、異常錯誤等都會進行記錄,打開DataNode節點上產生的log,果然發現出現錯誤,錯誤如下:
2015-05-30 19:04:10,948 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to hadoop.master/192.168.1.200:9000. Exiting. java.io.IOException: Incompatible clusterIDs in /root/app/hadoop/tmp/dfs/data: namenode clusterID = CID-aee19086-0039-4a5c-a7de-cb5f4355262c; datanode clusterID = CID-8fab07df-65df-48a0-862c-b3489783618d at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:477) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:226) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:254) at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:974) at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:945) at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:278) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:220) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:816) at java.lang.Thread.run(Thread.java:745)
主要錯誤看:
mp/dfs/data: namenode clusterID = CID-aee19086-0039-4a5c-a7de-cb5f4355262c; datanode clusterID = CID-8fab07df-65df-48a0-862c-b3489783618d at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:477)
DataNode clusterID與NameNode clusterID 不一致
解決方法:
1、通過查看NameNode的clusterID:$HADOOP_HOME/tmp/dfs/name/current/VERSION,對比DataNode CID是否不一致
2、如果不一致則將DataNode節點上的tmp文件刪除,然后重新通過sbin/hadoop-daemon.sh datanode start啟動DataNode.,如何配置無誤,NameNode會重新在DataNode上建立tmp文件并且納入集群中,此處產生兩種情況:
2.1、生產中出現新增從節點,通過復制主節點的配置環境,然后直接刪除tmp即可加入集群
2.2、生產中出現子節點掛了,切記不能直接去hadoop namenode -format(有同學當初因為這個問題差點就干了),直接將掛了的子節點替換或者重新啟動,此時需要將tmp文件刪除,有些同學顧慮刪除子節點的tmp文件會導致文件損壞或者找不到,這個沒關系,因為數據有多個備份,所以無需擔心
感謝各位的閱讀,以上就是“DataNode沒有啟動怎么辦”的內容了,經過本文的學習后,相信大家對DataNode沒有啟動怎么辦這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。