2013-08-18 64 views
4

我在VirtualBox的(同我的主機名)安裝在Ubuntu 11.0.4 Hadoop的1.0.4,不知何故數據節點關閉給下面的錯誤日誌文件爲什麼運行hadoop時數據節點會關閉?

/************************************************************ 
STARTUP_MSG: Starting DataNode 
STARTUP_MSG: host = VirtualBox/127.0.1.1 
STARTUP_MSG: args = [] 
STARTUP_MSG: version = 1.0.4 
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290; compiled by 'hortonfo' on Wed Oct 3 05:13:58 UTC 2012 
************************************************************/ 
2013-08-18 19:52:21,301 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties 
2013-08-18 19:52:21,394 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered. 
2013-08-18 19:52:21,412 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s). 
2013-08-18 19:52:21,417 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started 
2013-08-18 19:52:23,207 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered. 
2013-08-18 19:52:23,276 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists! 
2013-08-18 19:52:26,887 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /app/hadoop/tmp/dfs/data: namenode namespaceID = 457871323; datanode namespaceID = 2066655210 
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232) 
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147) 
    at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:385) 
    at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:299) 
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1582) 
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1521) 
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1539) 
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1665) 
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1682) 

2013-08-18 19:52:26,903 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down DataNode at VirtualBox/127.0.1.1 
************************************************************/ 

任何想法,爲什麼?如何才能我修復它?

回答

11

我有這種情況發生過幾次。如果重新啓動數據節點沒有幫​​助,然後執行以下操作:

  1. 重新啓動的Hadoop
  2. 轉到/應用/ Hadoop的/ tmp目錄/ DFS /名/電流
  3. 開版(由vim VERSION IE)
  4. 記錄名稱空間ID
  5. 轉到/應用/ hadoop的/ TMP/DFS /數據/電流
  6. 打開VERSION(通過vim VERSION IE)
  7. 更換名稱空間ID與您在步驟4中記錄的名稱空間ID

這應該解決問題。

+0

謝謝你一步一步的指導! – Wakko

0

這通常會導致格式化namenode並且不執行datanode清理和命名空間更改。

可能的解決方案:

嘗試刪除/應用/ Hadoop的/ tmp目錄/ DFS /數據目錄並重新啓動數據管理部

+1

我在閱讀Micheal Gnoll的教程後在此處發佈它之後解決了它。謝謝反正 – Wakko

+0

沒問題的隊友! –

+0

你能幫我這個嗎?http://stackoverflow.com/questions/18307328/hquorumpeer-and-hregionserver-processes-not-running-in-pseudodistributed-hbase-w – Wakko

0

我在namenode上丟失了我的數據。 我有

hadoop namenode -format 

格式化我的NameNode啓動名稱節點之後,數據節點是無法啓動,因爲版本問題

然後,我還需要從數據節點刪除所有數據。

我可以在DFS(/{hadoop.tmp.dir}/dfs/data/*)簡單幹淨的數據文件夾,重新啓動的DataNode

rm -rf /{hadoop.tmp.dir}/dfs/data/*

OR

刪除版本文件(/{hadoop.tmp.dir}/dfs/data/current/VERSION)和 重啓數據節點

-2
Restart Hadoop 
Go to /app/hadoop/tmp/dfs/name/current 
Open VERSION (i.e. by vim VERSION) 
Record namespaceID 
Go to /app/hadoop/tmp/dfs/data/current 
Open VERSION (i.e. by vim VERSION) 
Replace the namespaceID with thve namespaceID you recorded in step 4. 

做到這一點以上的步驟, 我沒有在數據文件夾中的任何文件/ tmp/data

相關問題