標籤:
1. 首先前往 官網(Hadoop 2.6 )上下載Hadoop的源碼檔案,並解壓
2. 事先請確定已經安裝好jdk以及maven(Maven安裝教程 這是其他人寫的一篇博文,儲存profile後,記得source下)
3. 進入到hadoop-2.6.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop 目錄
可以看到有很多檔案夾,找到ipc目錄,在裡面mkdir protobuf檔案夾(還有一丟丟問題,這個後面解決)
4. 安裝protobuf
: http://pan.baidu.com/s/1pJlZubT 並解壓
切換到protobuf檔案夾,依次在終端下輸入:
. / configure
make
make check
make install
全部執行完後再輸入protoc - - version檢查是否安裝成功。
5. hadoop-2.6.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/serializer/avro/TestAvroSerialization.java顯示找不到AvroRecord類
去grepcode下載2.5.0或者更高版本的。放到相應位置
6. cd到 hadoop-2.6.0-src/hadoop-maven-plugins 目錄下 使用:mvn intall
7. cd到hadoop-2.6.0-src 目錄下 使用mvn eclipse:eclipse -DskipTests
8. 在Eclipse中:File-Import-Existing Projects into Workspace 選擇hadoop-2.6.0-src目錄匯入(推薦換一個workspace再匯入,因為project的數目挺多的)
到了這一步,基本上已經沒什麼問題了,但是還有一些小問題,需要解決
可能遇到的問題:
1.org.apache.hadoop.ipc.protobuf 包下,可能是空包。
去grepcode上搜尋TestProtos和TestRpcServiceProtos兩個類,我遇到的情況是本地目錄已經存在那兩個檔案,卻沒有匯入。
沒有上述兩個類,會提示一大片的EmptyRequestProto之類的無法解析
2.會提示com.sum.tool或者javadoc包無法解析
右鍵選擇buildpath -> configure build path -> library -> add library -> ire system 即可
3. hadoop-streaming 工程中的build path 有問題
把source中的hadoop-yarn-server-resourcemanager/conf刪除掉,然後Link Source:源碼根目錄/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf
參考資料:
1. 在mac中匯入hadoop2.6.0原始碼至eclipse教程
2. Eclipse匯入Hadoop源碼
3. hadoop-2.6.0-src源碼匯入Eclipse
4. grepcode TestProtos
5. 百度知道:匯入時可能遇到的錯誤以及解決辦法 (請參考其他1條回答)
Eclipse 匯入Hadoop 2.6.0 源碼