1. 程式人生 > >windows下ant編譯生成hadoop-eclipse-plugin外掛解決辦法

windows下ant編譯生成hadoop-eclipse-plugin外掛解決辦法

        我目前用的hadoop2.9.0版本,之前應該是用hadoop2.6以下的版本的時候,直接從網上下載hadoop-eclipse-plugin-**.jar拷貝到eclipse/plugins下就解決了,後面的版本看網上介紹需要用ant編譯生成hadoop-eclipse-plugin-**.jar(**指版本號)檔案,如果你在網上下載的jar包放到eclipse下不成功就自己編譯吧,我是在CSDN下下載了好幾個都不好使,自己編譯吧。

        用ant命令編譯成功後,如果在eclipse/preference左側功能選單裡邊還沒有Hadoop Map/Reduce這一項,那就從eclipse.org官網重新下載一個eclipse吧,我就是編譯成功後eclipse沒有顯示,然後重新下載一個eclipse,用ant編譯生成hadoop-eclipse-plugin-2.9.0.jar放到eclipse/plugins下後,重新啟動eclipse才成功的。

     步驟:

1.下載安裝ant   

從apache官網下載ant     https://ant.apache.org/bindownload.cgi

  apache-ant-1.10.5-bin.zip 

解壓後配置環境變數

ANT_HOME=c:\Program Files (x86)\apache-ant-1.10.5

path=%ANT_HOME%\bin;

驗證ant -version

 

2. 從eclipse.org下載eclipse  

http://www.eclipse.org/downloads/packages/

解壓到對應的目錄G:\downloads\eclipse。

3.下載hadoop

下載地址:http://apache.tt.co.kr/hadoop/core/hadoop-2.9.0/

下載後,解壓縮到windows對應目錄即可。G:\downloads\bigdata\hadoop-2.9.0

我是配置了環境變數:

配置 HADOOP_HOME  

 自己的本地目錄G:\downloads\bigdata\hadoop-2.9.0

配置PATH

%HADOOP_HOME%\bin

4. 下載hadoop2x-eclipse-plugin-master.zip,將檔案解壓縮到本地目錄下

通過命令列cmd進入到G:\downloads\bigdata\hadoop2x-eclipse-plugin-master\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin目錄下

執行命令 
ant jar -Dversion=2.9.0 -Declipse.home=G:\downloads\eclipse -Dhadoop.home=G:\downloads\bigdata\hadoop-2.9.0 
或者 
ant jar -Dhadoop.version=2.9.0 -Declipse.home=G:\downloads\eclipse -Dhadoop.home=G:\downloads\bigdata\hadoop-2.9.0 
-Dversion,-Dhadoop.version都表示的是hadoop的版本 
-Declipse.home表示的是eclipse的安裝目錄,就是需要使用的eclipse的目錄 
-Dhadoop.home表示的是hadoop的目錄 
執行命令後會發現一直停在 ivy-resolve-common處一直不動

解決方法:開啟G:\downloads\bigdata\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin\build.xml

刪除depends="init, ivy-retrieve-common",儲存。

第一次編譯失敗:

 Warning: Could not find file G:/downloads/bigdata\hadoop-2.9.0\share\hadoop\common\lib\commons-collections-3.2.2.jar to copy.

這個問題的原因是../hadoop2x-eclipse-plugin-master/ivy目錄下的libraries.properties檔案中的jar包的版本找不到,因為對應的jar包版本是指hadoop2.9.0\share\hadoop\common\lib的jar包版本,該階段是修改../hadoop2x-eclipse-plugin-master/ivy目錄下的libraries.properties檔案,修改版本號為對應的hadoop主目錄下的jar包版本號.

修改完後再執行ant命令

執行命令 
ant jar -Dversion=2.9.0 -Declipse.home=G:\downloads\eclipse -Dhadoop.home=G:\downloads\bigdata\hadoop-2.9.0 
或者 
ant jar -Dhadoop.version=2.9.0 -Declipse.home=G:\downloads\eclipse -Dhadoop.home=G:\downloads\bigdata\hadoop-2.9.0 

如果還報錯,就再繼續修改libraries.properties裡對應的jar包版本號。

解決:修改../hadoop2x-eclipse-plugin-master/ivy/libraries.properties檔案,將報錯的jar包版本號更換成與hadoop安裝目錄/share/hadoop/common\lib下的jar對應的版本號。 

其中htrace.version的版本號有點不一樣,我是從網上下載的與hadoop2x-eclipse-plugin-master中版本號匹配的jar包放到hadoop的../share/hadoop/common/lib/htrace-core-3.0.4.jar目錄下。hadoop目錄下的htrace-core4-4.1.0-incubating.jar,我在libraries檔案裡修改後編譯都不成功,所以直接去下載libraries裡的版本放到hadoop的../share/hadoop/common/lib/目錄下了。

     Warning: Could not find file G:/downloads/bigdata\hadoop-2.9.0/share/hadoop/common/lib/htrace-core-3.0.4.jar to copy.
    提示找不到htrace-core-3.0.4.jar

    下載htrace-core-3.0.4.jar,連結:http://mvnrepository.com/artifact/org.htrace/htrace-core/3.0.4

    並將該包複製到hadoop-2.9.0/share/hadoop/common/lib/目錄下

    重新編譯!成功!

     所編譯外掛已經在hadoop2x-eclipse-plugin-master/build/contrib/eclipse-plugin的目錄下:hadoop-eclipse-plugin-2.9.0.jar

1)將hadoop-eclipse-plugin-2.9.0.jar 複製到你的eclispe/plugins目錄下,重啟eclpise
2)在eclipse選單preferences左側功能選單即可看到Hadoop Map/Reduce了

即可開始Hadoop Map/Reduce開發了

 

以上步驟完成後,new 測試後發現不能彈開介面。

以下經測試可行:

由於耗時太多了,選擇了一種簡單經測試可行的方法:

eclipse4.5和hadoop-2.7.6及hadoop-eclipse-plugin-2.7.6外掛

連結地址如下:

eclipse下載地址: http://www.eclipse.org/downloads/packages/release/mars/2

hadoop-2.7.6下載地址: https://www-us.apache.org/dist/hadoop/common/hadoop-2.7.6/

hadoop-eclipse-2.7.6.jar 下載地址:https://download.csdn.net/download/nengyu/10788161

將外掛放入eclipse的plugins下後,再重啟,New Hadoop location就可以彈開介面進行連線了。