参考https://www.whst.com.cn/xinli/20190126_2222.html(侵删)
1. 安装ant
apt-get install ant
命令执行完后,查看ant 版本 ant –version
2.下载linux版本的eclipse (我下载的为 eclipse-committers-photon-R-linux-gtk-x86_64.tar.gz),上传至服务器 /hadoop/ 并进行解压
cd /hadoop/
tar zxvf eclipse-committers-photon-R-linux-gtk-x86_64.tar.gz
3. 下载hadoop2x-eclipse-plugin 下载地址https://github.com/winghc/hadoop2x-eclipse-plugin/tree/v2.6.0
4. 上传hadoop2x-eclipse-plugin-master.zip 至服务器目录 /hadoop/ 并且解压
cd /hadoop/
unzip hadoop2x-eclipse-plugin-master.zip (这里如果没有安装 unzip ,使用命令 apt-get install unzip来进行安装)
cd /hadoop/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin/
修改build.xml,具体修改如下:
将 127行的
<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-${htrace.version}.jar" todir="${build.dir}/lib" verbose="true"/>
替换为
<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-${htrace.version}-incubating.jar" todir="${build.dir}/lib" verbose="true"/>
并在下面添加两行
<copy file="${hadoop.home}/share/hadoop/common/lib/servlet-api-${servlet-api.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/commons-io-${commons-io.version}.jar" todir="${build.dir}/lib" verbose="true"/>
将 157 行的
lib/htrace-core-${htrace.version}.jar"/>
替换为:
lib/htrace-core-${htrace.version}-incubating.jar"/>
在157行上添加两行
lib/servlet-api-${servlet-api.version}.jar,
lib/commons-io-${commons-io.version}.jar,
build.xml修改完成。
接下来修改 /hadoop/hadoop2x-eclipse-plugin-master/ivy/libraries.properties 文件
将 hadoop.version=2.6.0 替换为hadoop.version=2.7.7
将commons-collections.version=3.2.1 替换为commons-collections.version=3.2.2
将commons-httpclient.version=3.0.1 替换为commons-httpclient.version=3.1
将commons-io.version=2.1 替换为commons-io.version=2.4
将htrace.version=3.0.4 替换为htrace.version=3.1.0
将slf4j-api.version=1.7.5 替换为slf4j-api.version=1.7.10
将slf4j-log4j12.version=1.7.5 替换为 slf4j-log4j12.version=1.7.10
libraries.properties修改完成
libraries.properties文件中不知道修改哪个版本,可以先放到服务器上来执行 ant 命令,在命令执行的过程中,命令行会输出如下错误:
能看出错误,找不到相关jar包,具体应该改成哪个版本的jar包,可以到hadoop的安装目录找相关版本,我的安装目录为
/hadoop/hadoop-2.7.7/share/hadoop/common/lib/
具体的来编译:
cd /hadoop/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin/
ant jar -Dhadoop.version=2.7.7 -Declipse.home=/hadoop/eclipse -Dhadoop.home=/hadoop/hadoop-2.7.7
(-Declipse.home 指到eclipse的解压目录 ,-Dhadoop.home 指到hadoop的安装目录 )
编译成功后,可以找到hadoop2x-eclipse-plugin的目录中多了一个build目录 ,然后在子目录contrib 中的子目录eclipse-plugin就可以看到编译好的 hadoop-eclipse-plugin-2.7.7.jar
我的文件具体位置为: /hadoop/hadoop2x-eclipse-plugin-master/build/contrib/eclipse-plugin/hadoop-eclipse-plugin-2.7.7.jar
将编译好的 jar包放到 windows中eclipse安装目录 的plugins 文件夹下,重启eclipse
重启后,打开eclipse就可以看到如下变化。
<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-${htrace.version}-incubating.jar" todir="${build.dir}/lib" verbose="true"/>
及
lib/htrace-core-${htrace.version}.jar
改为:
<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-3.1.0-incubating.jar" todir="${build.dir}/lib" verbose="true"/>
及
lib/htrace-core-3.1.0.jar