搭建Hadoop2.7.2开发环境1(编译Eclipse中hadoop插件hadoop2x-eclipse-plugin)

来源:互联网 发布:塔利班和中国关系 知乎 编辑:程序博客网 时间:2024/05/21 17:03

前几篇博文介绍了如何安装Hadoop2.7.2分布式环境,如何启动Hadoop2.7.2以及如何执行hadoop的官方小例子wordcount,今天将着重介绍如何搭建hadoop2.7.2的开发环境,为后期做mapreduce的开发做准备。

在搭建开发环境之前,首先选择开发工具,就是大家都很熟悉的Eclipse,Eclipse提供了hadoop的插件,我们通过这个插件,就可以在eclipse中编写mapreduce。但是,这个插件可能会随着hadoop的版本升级或者eclipse的版本升级,而需要相应的去进行编译。所以,在我们开发之前,学会编译这个eclipse的hadoop插件至关重要,今天我将介绍如何编译这个插件。


1.首先通过sourcetree获取hadoop2x-eclipse-plugin插件。

插件地址在github上:https://github.com/winghc/hadoop2x-eclipse-plugin.git

如下图:克隆上面地址到本地目录即可


2.将克隆后的文件导入到idea中,如下图:

然后将idea中的ant配置好。



接着修改\hadoop2x-eclipse-plugin\src\contrib\eclipse-plugin\build.xml文件


  找到<target name="jar" depends="compile" unless="skip.contrib">标签,然后添加以下内容

 <copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-${htrace.version}-incubating.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.home}/share/hadoop/common/lib/servlet-api-${servlet-api.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.home}/share/hadoop/common/lib/commons-io-${commons-io.version}.jar"  todir="${build.dir}/lib" verbose="true"/>


以上这些jar包在编译hadoop2.7.2  eclipse插件的时候需要用到,如果不添加就会报错,所以,我们在ant编译之前先添加进来。

然后再找到<jar arfile="${build.dir}/hadoop-${name}-${hadoop.version}.jar" manifest="${root}/META-INF/MANIFEST.MF">标签,把刚刚添加的包,在ant构建的时候写到mainfest.mf文件的Bundle-ClassPath中:

lib/servlet-api-${servlet-api.version}.jar,
 lib/commons-io-${commons-io.version}.jar,
 lib/htrace-core-${htrace.version}-incubating.jar


再修改\hadoop2x-eclipse-plugin\src\ivy\libraries.properties文件,这个文件配置了ant构建需要用到各个jar包的版本,以及构建hadoop的版本,由于这个插件工程师编译hadoop2.6.0的,所以我们需要修改以下配置,其实在ant构建的时候,会选择本地hadoop2.7.2目录中的jar包版本(\hadoop-2.7.2\share\hadoop\common),所以只要将版本号改成对应的版本号即可如下图:


最后修改\hadoop2x-eclipse-plugin\ivy\libraries.properties文件,文件的的版本如上图版本修改一样,但是还有一个版本需要修改的就是

htrace.version的版本要改成3.1.0,htrace.version=3.1.0


然后cd到D:\OpenSources\hadoop2x-eclipse-plugin\src\contrib\eclipse-plugin目录

执行以下命令:

ant jar -Dversion=2.7.2 -Declipse.home=E:\eclipse-jee-mars-2-win32-x86_64\eclipse -Dhadoop.home=E:\hadoop-2.7.2

解释下这个命令:-Dversion是指这个插件的版本,Declipse.home是指eclipse的安装目录,-Dhadoop.home指本地文件中hadoop-2.7.2的安装目录。

命令执行成功之后就可以在\hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin目录下面找到

hadoop-eclipse-plugin-2.7.2.jar 包,这个包就是编译好的eclipse hadoop2.7.2插件,把这个插件放到eclipse安装目录的plugins目录下,我们就可以进入eclipse然后找到一个叫mapreduce的视图,就可以开始尝试编写mapreduce程序了,关于如何在eclipse里面来进行这个插件的使用,下一章节我们再继续。





0 0
原创粉丝点击