歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

自編譯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下面。

更多Hadoop相關信息見Hadoop 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=13

Copyright © Linux教程網 All Rights Reserved