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下面。