在Centos中进行hadoop的eclipse插件会遇到一些问题,为了大家不走弯路,将自己的编译过程记录下来,供大家参考。
1.进入hadoop1.1.2的源码目录,如:/usr/hadoop-1.1.2/src/contrib/
2.拷贝build-contrib.xml到eclipse-plugin目录下,并修改该文件
将下面部分
<property name="name" value="${ant.project.name}"/>
<property name="root" value="${basedir}"/>
<property name="hadoop.root" location="${root}/../../../"/>
修改为
<property name="root" value="D:/hadoop-1.1.2/src/contrib/eclipse-plugin"/>
<property name="eclipse.home" location="/usr/eclipse"/>
<property name="version" value="1.1.2"/>
<property name="hadoop.root" location="/usr/hadoop-1.1.2"/>
3.进入目录eclipse-plugin,修改build.xml文件
首先修改import字段(注意这是很多人会忘记的地方)
将
<import file="../build-contrib.xml"/>
修改为
<import file="./build-contrib.xml"/>
其次在代码
<pathelement location="${hadoop.root}/build/classes"/>
后插入一段新的代码
<pathelement location="${hadoop.root}/hadoop-core-1.1.2.jar"/>
最后把代码
<copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
<copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
修改为
<copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
4.修改META-INF目录中的MANIFEST.MF文件
在Bundle-ClassPath栏中加入
Bundle-ClassPath: classes/,
lib/hadoop-core.jar,
lib/commons-cli-1.2.jar,
lib/commons-configuration-1.6.jar,
lib/commons-httpclient-3.0.1.jar,
lib/commons-lang-2.4.jar,
lib/jackson-core-asl-1.8.8.jar,
lib/jackson-mapper-asl-1.8.8.jar
5.回到
/usr/hadoop-1.1.2/src/contrib/eclipse-plugin目录,使用ant进行编译,最后在/usr/hadoop-1.1.2/build中就能找到编译好的eclipse插件。