最近重新撿起了Hadoop,所以博客重新開張~
首先描述一下我的問題:這次我使用eclipse在Ubuntu上運行hadoop程序。首先,按照廈門大學數據庫實驗室的eclipse下運行hadoop程序的教程配置好了eclipse,然后在命令行啟動Hadoop。在eclipse界面中,有input文件夾,右鍵這個文件家有一個Upload files to DFS,通過這個上傳之后,發現上傳的文件大小為0.0。

解決方法:
首先提一句真是粗心毛病一定要改。。。。在命令行的啟動hadoop的時候沒有仔細看各個節點是否都啟動,結果后來才發現是DataNode節點未啟動;
下面說一下DataNode無法啟動可能出現的情況:
注:下面講的情況都可以根據/usr/local/hadoop/logs/hadoop-hadoop-datanode-king-Lenovo.log(king-lenovo是我的計算機名稱)中查看到
1. 在日志中報錯: 2015-06-11 16:11:06,822 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid dfs.datanode.data.dir /usr/local/hadoop/dfs/data
這個錯誤通常是/usr/local/hadoop/dfs/data這個文件夾有鎖,即訪問權限不夠。
解決方法是修改文件夾權限:chomd g-w /usr/local/hadoop/dfs/data
2. 日志中報錯:java.io.IOException: Incompatible clusterIDs in /usr/local/hadoop/dfs/data: namenode clusterID = CID-c1bf781c-d589-46d7-a246-7f64a6f24bc1; datanode clusterID = CID-b1ee6a5b-aa39-4e9e-b849-ee7c4650989b
這個錯誤的意思是namenode的clusterID與datanode的clusterID不一致,這通常是多次格式化節點造成的。
解決方法是將兩處ID改成一致的。namenode clusterID在/usr/local/hadoop/dfs/name/current/VERSON中,datanode clusterID在/usr/local/hadoop/dfs/data/current/VERSON中,將其中一處修改為和另一個一致即可。
之后重啟hadoop即可。
