一、編譯環境
Hadoop:Hadoop-2.6.0
OS:Linux Mint 17(Ubuntu 14.04)
Eclipse:eclipse-inst-linux64.tar.gz
參照原文:README
二、相關依賴
JDK1.8:下載地址
ant1.9.7:下載地址
Hadoop2.6.0 eclipse插件源碼:源碼下載地址
三、前期準備
1、安裝JDK
JDK安裝可以參考原文: CentOS 6.5下搭建hadoop 2.6.0集羣(一):安裝配置JDK
在安裝之前,需要查看系統是否自帶JDK,若有,則需要對其卸載重新安裝
2、安裝ant
對ant安裝包進行解壓,我的解壓目錄爲/usr/local/apache-ant-1.9.7
使用root權限修改/etc/profile
,在該文件中添加這幾行:
export ANT_HOME=/usr/local/apache-ant-1.9.7
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ANT_HOME/bin
保存,運行命令source /etc/profile
四、編譯插件
1、修改build
將Hadoop2.6.0 eclipse插件源碼解壓,修改./src/contrib/eclipse-plugin/build.xml:
<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">
將這一行修改爲
<target name="compile" unless="skip.contrib">
2、編譯運行
ant jar -Dversion=2.4.1 -Dhadoop.version=2.6.0 -Declipse.home=/usr/local/eclipse -Dhadoop.home=/usr/local/hadoop
hadoop的版本和位置,eclipse的位置,都按照自己的實際情況進行填寫。
編譯完成後,就會在./build/contrib/eclipse-plugin/classes下生成hadoop-eclipse-plugin-2.6.0.jar,./build/contrib/eclipse-plugin需要預先建立,否則會編譯出錯.
五、其他
在看README中,有這樣兩行:
Note: compile issues resolve:
1、For different hadoop, adjust ${hadoop2x-eclipse-plugin-master}/ivy/libraries.properties, to match hadoop dependency lib version.
2、modify ${hadoop2x-eclipse-plugin}/src/contrib/eclipse-plugin/build.xml, in the node: <attribute name="Bundle-ClassPath" .... to add the jar needed.
也就是說你在編譯出2.2.0、2.4.0、2.6.0這三個版本的源碼之外的版本,比如編譯2.5.2的插件,需要對libraries.properties、build.xml做更多修改,具體細節可參考 Hadoop之——hadoop2.5.2eclipse插件編譯