环境:
CentOS 6.5, Hadoop 1.1.2, Eclipse 4.4.2, Ant 1.9.4
一、 软件准备
1. 在CentOS上安装好Eclipse
2. 在CentOS上安装好Hadoop
3. 在CentOS上安装好Ant
本机安装软件目录如下:
HADOOP_HOME=/home/hadoop/hadoop-1.1.2
ECLIPSE_HOME=/home/hadoop/eclipse
ANT_HOME=/home/hadoop/ant
二、 build-contrib.xml文件准备
1. 复制build-contrib.xml到eclipse-plugin目录
执行命令:
cd /home/hadoop/hadoop-1.1.2/src/contrib
cp build-contrib.xml eclipse-plugin/build-contrib.xml
2. 修改build-contrib.xml文件
将内容
<property name="root" value="${basedir}"/>
<property name="hadoop.root" location="${root}/../../../"/>
修改为
<property name="root" value="/home/hadoop/hadoop-1.1.2/src/contrib/eclipse-plugin"/>
<property name="eclipse.home" location="/home/hadoop/eclipse"/>
<property name="version" value="1.1.2"/>
<property name="hadoop.root" location="/home/hadoop/hadoop-1.1.2"/>
三、修改eclipse-plugin/build.xml文件
1.
将内容
<import file="../build-contrib.xml"/>
修改为
<import file="build-contrib.xml"/>
2.
在内容
<pathelement location="${hadoop.root}/build/classes"/>
后加入
<pathelement location="${hadoop.root}/hadoop-core-1.1.2.jar"/>
3.
将内容
<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"/>
<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"/>
四、修改eclipse-plugin/META-INF文件
1.
在内容
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
五、在eclipse-plugin目录中执行Ant编译
#在当前目录生成插件jar文件hadoop-eclipse-plugin-1.1.2.jar