自编译Hadoop Eclipse 插件

eclipse下进行mapreduce程序的开发调试,需要安装Hadoop eclipse插件,如果hadoop解压包下存在{hadoop_home}\contrib\eclipse-plugin\目录,则可以直接将其中的eclipse插件拷贝至eclipse\plugins目录,重启eclipse即可,若不存在此文件夹,则需要自己编译得到插件包。

本人只实验完成了windows下的hadoop eclipse 插件编译过程,步骤如下


1、将hadoop解压。比如:D:\hadoop-1.0.3。

2、进入D:\hadoop-1.0.3\src\contrib目录。将build-contrib.xml复制到D:\hadoop-1.0.3\src\contrib\eclipse-plugin目录下。

3、修改build-contrib.xml文件:

将hadoop.root改为hadoop解压目录。

<property name=”hadoop.root” location=” D:\hadoop-1.0.3″/>

在下面添加如下两行:Eclipse安装根目录,和hadoop版本。

<property name=”eclipse.home” location=”D:\eclipse”/>

<property name=”version” value=”1.0.3″/>

4、在D:\hadoop-1.0.3下创建build文件夹,将hadoop-core-1.0.3.jar复制进来,并将以下jar包复制进来:commons-configuration-1.6.jar、commons-httpclient-3.0.1.jar、commons-lang-2.4.jar、jackson-core-asl-1.8.8.jar、jackson-mapper-asl-1.8.8.jar.

5、在D:\hadoop-1.0.3\build目录下创建D:\hadoop-1.0.3\build\ivy\lib\Hadoop\common目录并将commons-cli-1.2.jar复制到该目录下。

6、修改 D:\hadoop-1.0.3\src\contrib\eclipse-plugin下的build.xml文件

<target name=”jar” depends=”compile” unless=”skip.contrib”>

<mkdir dir=”${build.dir}/lib”/>

<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}/build/commons-configuration-1.6.jar” todir=”${build.dir}/lib” verbose=”true”/>

<copy file=”${hadoop.root}/build/commons-httpclient-3.0.1.jar” todir=”${build.dir}/lib” verbose=”true”/>

<copy file=”${hadoop.root}/build/commons-lang-2.4.jar” todir=”${build.dir}/lib” verbose=”true”/>

<copy file=”${hadoop.root}/build/jackson-core-asl-1.8.8.jar” todir=”${build.dir}/lib” verbose=”true”/>

<copy file=”${hadoop.root}/build/jackson-mapper-asl-1.8.8.jar” todir=”${build.dir}/lib” verbose=”true”/>

<jar

jarfile=”${build.dir}/hadoop-${name}-${version}.jar”

manifest=”${root}/META-INF/MANIFEST.MF”>

<fileset dir=”${build.dir}” includes=”classes/ lib/”/>

<fileset dir=”${root}” includes=”resources/ plugin.xml”/>

</jar>

</target>

7、build.xml还需要修改以下内容:

<import file="build-contrib.xml"/> //改为使用当前目录下build-contrib.xml

另外找到<path>标签,下面加入<pathelement location="${hadoop.root}/hadoop-core-1.1.2.jar"/>

8、修改:MANIFEST.MF文件。目录:D:\hadoop-1.0.3\src\contrib\eclipse-plugin\META-INF

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/commons-jackson-core-asl-1.8.8.jar,

lib/commons-jackson-mapper-asl-1.8.8.jar

9、在控制台切换到目录D:\hadoop-1.0.3\src\contrib\eclipse-plugin,使用Ant进行编译。

10、最后生成的结果会在D:\hadoop-1.0.3\build\contrib\eclipse-plugin下面。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/6aa7adc789665328d31ebbdd79b0725c.html