Hadoop Commit 团队为了开发人员能够方便的开发MapReduce 程序提供了一个eclipse插件,但由于是源码,所以需要我们自己编译。在网上查了怎么编译,发现有些文章讲的不明白,有些编译完后根本运行不了。
环境:
JDK : 1.7.0.21
Hadoop : 1.2.1
Ant : 1.8.4
Eclipse:eclipse-jee-juno-SR2-win32-x86_64
题外话, Cloudera 提供了一个配置好的hadoop运行环境,为了不纠结于hadoop的配置,我就直接使用了这个虚拟机,CDH 4.4 使用的是以 hadoop 1.x 为基础的,所以,hadoop 我使用了hadoop:1.2.1
JDK 和 Ant 的安装,网上有很多文档,我就不在此累述了,因为我主要关注于hadoop eclipse plugin 在windows下的编译安装。总之你在命令行里得能让他们运行就成。
Hadoop 下载下来后是一个hadoop-1.2.1.tar.gz的包,用解压缩软件解压成文件夹,我直接放在E盘下,目录就成了(E:\hadoop-1.2.1)
Eclipse 下载后的解压,也放在E盘 E:/eclipse
然后我们找到eclipseplugin,他在E:\hadoop-1.2.1\src\contrib\eclipse-plugin
修改属性文件build.properties,这个是用来定于参数的
在文件的最下方添加
eclipse.home=E:/eclipse
version=1.2.1
然后修改build.xml,这个是ant 编译需要用的文件
在<pathid="eclipse-sdk-jars"> 这个里面加入,这个是用来指定编译的时候要用到的lib包
加在文件里原来那个fileset下面即可
<fileset dir="../../../">
<includename="hadoop*.jar"/>
</fileset>
然后再修改target jar, 为了方便,可以直接替换掉原来文件中taget 的内容保存即可。
<target name="jar"depends="compile" unless="skip.contrib">
<mkdir dir="${build.dir}/lib"/>
<copy file="${hadoop.root}/hadoop-core-${version}.jar"tofile="${build.dir}/lib/hadoop-core.jar"verbose="true"/>
<copyfile="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib"verbose="true"/>
<copyfile="${hadoop.root}/lib/commons-configuration-1.6.jar" tofile="${build.dir}/lib/commons-configuration.jar"verbose="true"/>
<copyfile="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" tofile="${build.dir}/lib/commons-httpclient.jar"verbose="true"/>
<copy file="${hadoop.root}/lib/commons-lang-2.4.jar" tofile="${build.dir}/lib/commons-lang.jar"verbose="true"/>
<copyfile="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-core-asl.jar"verbose="true"/>
<copyfile="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-mapper-asl.jar"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>
好了, 需要修改的文件到此结束,下面我们开始来编译了
打开cmd, 进入目录E:\hadoop-1.2.1\src\contrib\eclipse-plugin
然后 输入 ant
出现successful 的信息就编译完毕了
然后你就可以在E:\dev\hadoop-1.2.1\build\contrib\eclipse-plugin 发现 hadoop-eclipse-plugin-1.2.1.jar这个包了, 如果你编译正确大小应该在5.7m 左右
接着拷贝hadoop-eclipse-plugin-1.2.1.jar 到eclipse pligin目录(E:/eclipse/plugins)
插件安装完毕,好现在启动eclipse吧
有人会问了,我如何知道我的插件是否安装成功了呢?
在eclipse 工具栏上点击 window -> Open perspective -> other, 在弹出的对话框中,如果你能看到一只蓝色的小黄象(对不起,小黄象的形象已经深入我心),就为自己鼓掌吧J