Ubuntu16.04+Hadoop2.9.1 + Eclipse配置(解決New Location無反應)


本文記錄在Hadoop和Eclipse安裝成功后如何配置開發環境。

版本:Hadoop2.9.1 + Eclipse Luna

想要在Eclipse中編寫Hadoop程序,主要是編譯Hadoop-Eclipse plugin。

1.去github下載編譯工具:https://github.com/winghc/hadoop2x-eclipse-plugin.git

2.按照github上的readme,進入下列目錄:

 

3.在上述目錄下,輸入命令:

注意根據編譯的Hadoop版本修改上述的參數:

-Dversion = Hadoop的版本號(eg.; 2.9.1)

-Dhadoop.version = Hadoop的版本號(eg.; 2.9.1)

-Declipse.home = Eclipse的安裝路徑

-Dhadoop.home = hadoop的安裝路徑

 

4.上述命令執行過程中會出現問題,第一個是卡在ivy-resolve-common處。

解決方法:修改src\contrib\eclipse-plugin\build.xml文件,去除對ivy的依賴:

<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">

修改為

<target name="compile" unless="skip.contrib"

 

5.第二個問題是會出現無法copy XXX.jar的error。

參考github上的解釋:

就是根據 HADDOP_INSTALL_PATH/share/hadoop/common/lib下jar包的不同版本修改 /ivy/libraries.properties中的對應版本號

 

6.第三個問題是Hadoop2.9.1特有的,就是安裝完成后啟動Eclipse,點擊Add New Location沒有反應,這其實是因為編譯過程中缺少了兩個包,這一個問題的解決主要感謝:

https://zhuanlan.zhihu.com/p/38630695

解決方法:修改src\contrib\eclipse-plugin\build.xml文件,主要在兩個地方做修改:

 

上圖中選中的兩個地方就是后加的,也就是編譯時需要多編譯兩個包。Github上只提到了需要修改Bundle Class處,但沒說還要增加<copy file …… />的部分,但只修改前者並沒有解決問題。

 

7.完成后,再次運行第3步中的ant命令,編譯成功后,在hadoop2x-eclipse-plugin-master/build/contrib路徑下生成了插件:hadoop-eclipse-plugin-2.9.1.jar

8.將插件復制到ECLIPSE_INSTSALL_PATH/plugins/路徑下

9.啟動eclipse,打開window===>prefernces,找到Hadoop Map/Reduce選項卡,配置hadoop installation directory目錄,指向hadoop的安裝目錄

10.打開window====>show view====>other,找到Map/Reduce Locations,使其顯示

11.點擊new hadoop locations,彈出對話框說明配置成功。

 


免責聲明!

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



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