Incompatible namespaceID for journal Storage Directory /home/hkx/journaldata/ns2: NameNode has nsId 480343035 but storage has nsId 2072447892


原因是因為你的hadoop.tmp.dir在/tmp目錄下,而linux系統的/tmp文件夾內容能夠是定時清理的,所以會導致你看hadoop使用不了了,就反復的格式化namenode會導致上述問題,也有可能是datanode長期沒正常啟動導致;
找了一下資料,有三個解決方案:
解決方法一:刪除 datanode 的所有資料,主要指的是tmp目錄和data目錄,適用沒存放過任何資料的HDFS;
解決方法二:修改 datanode 的 namespaceID
編輯每台 datanode 的 hadoop.tmp.dir/hadoop/hadoop-root/dfs/data/current/VERSION 把ID改為和namenode一致,重啟datanode,數據會丟失;
解決方法三:修改 namenode 的 namespaceID(網上找到的)
編輯 namenode 的 hadoop.tmp.dir/hadoop/hadoop-root/dfs/name/current/VERSION 把ID改為和datanode一直,重啟namenode,我測試了一下,第三種方法不行,我初步斷定namespaceID生成的時候,里面可能有時間的隨機數,我在測試中改了namenode的namespaceID,讓namende和datanode一直,但是重啟后他會自動的核對,他重新的修改回來,沒辦法,我只好采用了第二種方案,然后我仔細看了namenoe啟動的日志,發現 有日志塊注冊的信息,注冊完后,namenode發現datanode上有不屬於自己的data,就發送了delete的命令

2012-10-19 16:57:20,980 INFO org.apache.hadoop.hdfs.StateChange: BLOCK* NameSystem.registerDatanode: node registration from 192.168.80.84:50010 storage DS-584796903-192.168.80.84-50010-1350015221338
2012-10-19 16:57:21,142 INFO org.apache.hadoop.net.NetworkTopology: Adding a new node: /default-rack/192.168.80.84:50010
2012-10-19 16:57:21,618 INFO org.apache.hadoop.hdfs.StateChange: BLOCK* NameSystem.registerDatanode: node registration from 192.168.80.83:50010 storage DS-942449248-192.168.80.83-50010-1350015230758
2012-10-19 16:57:21,618 INFO org.apache.hadoop.net.NetworkTopology: Adding a new node: /default-rack/192.168.80.83:50010
2012-10-19 16:57:21,866 INFO org.apache.hadoop.hdfs.StateChange: BLOCK* NameSystem.processReport: block blk_-8214438839875239556_1105 on 192.168.80.84:50010 size 67108864 does not belong to any file.
2012-10-19 16:57:21,882 INFO org.apache.hadoop.hdfs.StateChange: BLOCK* NameSystem.addToInvalidates: blk_-8214438839875239556 is added to invalidSet of 192.168.80.84:50010
2012-10-19 16:57:21,882 INFO org.apache.hadoop.hdfs.StateChange: BLOCK* NameSystem.processReport: block blk_-4821437377619945111_1112 on 192.168.80.84:50010 size 4 does not belong to any file.
2012-10-19 16:57:21,882 INFO org.apache.hadoop.hdfs.StateChange: BLOCK* NameSystem.addToInvalidates: blk_-4821437377619945111 is added to invalidSet of 192.168.80.84:500102012-10-19 16:57:21,618 INFO org.apache.hadoop.net.NetworkTopology: Adding a new node: /default-rack/192.168.80.83:50010


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM