一、编译环境
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插件编译