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
解壓後配置環境變數
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就可以彈開介面進行連線了。