自編譯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 id="classpath">標籤,下面加入<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下面。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章