Ubuntu 12.04上编译hadoop

Ubuntu 12.04环境中编译Hadoop-eclipse-plugin-1.0.4.jar包。

1、在Eclipse中选择File-->Import-->Existing Projects into Workspace导入已有项目,假设路径为:

$HADOOP_HOME/src/contrib/eclipse-plugin,其默认的项目名称是MapReduceTools。导入后因为找不到hadoop-core.jar包,所以项目上有红色感叹号,不用管它【后面lib包加入后会消失】

2、默认项目名称为MapReduceTools,然后在项目MapReduceTools中新建lib目录,先将hadoop下的hadoop-core-1.0.4.jar重命名为hadoop.core.jar,并把hadoop.core.jar、及其lib目录下的commons-cli-1.2.jar、commons-lang-2.4.jar、commons-configuration-1.6.jar、jackson-mapper-asl-1.8.8.jar、jackson-core-asl-1.8.8.jar、commons-httpclient-3.0.1.jar拷贝到该目录。

3、将$HADOOP_HOME/src/contrib/build-contrib.xml(也就是与eclipse-plugin包在同一级目录)拷贝到eclipse项目目录中,并修改build-contrib.xml,将属性hadoop.root,eclipse.home换为本机电脑上的存放目录。并修改当前使用的hadoop版本号。eg:


  <property location="/home/hadoop/Downloads/hadoop-1.0.4"/>
  <property location="/home/hadoop/Downloads/eclipse" />

<property value="1.0.4"/>


 


4、修改build.xml

<target 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"/>
    <copy file="${hadoop.root}/lib/commons-cli-1.2.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-lang-2.4.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.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>


5、修改META-INF/MANIFEST.MF文件,添加lib目录下的jar包

Bundle-ClassPath: classes/,
        lib/hadoop-core.jar,
        lib/commons-cli-1.2.jar,
        lib/commons-httpclient-3.0.1.jar,
        lib/jackson-core-asl-1.8.8.jar,
        lib/jackson-mapper-asl-1.8.8.jar,
        lib/commons-configuration-1.6.jar,
        lib/commons-lang-2.4.jar

6、右键选择项目-->Export,类型选择JAR file,把plugin.xml文件、classes目录、lib目录和resources目录选上,选择导出的jar目录,【导出时注意,要选择using exsiting manifest from workspace (也就是要选择刚配置上一步配置那个文件),而不要选择新创建manifest文件】,即可导出hadoop-eclipse-plugin-1.0.4.jar文件。此处我在导出时,hadoop-eclipse-plugin-1.0.4.jar中编译好的类文件并没有包含在classes目录中【其中并没有classes目录】,所以先创建一个classes目录,将已编译好的类文件剪切进classes目录。

6、经过以上几步,生成的hadoop-eclipse-plugin-1.0.4.jar包便可以使用了。再把该文件放到eclipse/plugin目录下面,重启eclipse。

我编译好的插件:

免费下载地址在

用户名与密码都是

具体下载目录在 /2013年资料/1月/16日/Ubuntu 12.04上编译hadoop-eclipse-plugin-1.0.4.jar包/

注:其它版本的编译办法也可以通过以上步骤实现。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/6e9b38b981135c96ca6ac0f012183d3c.html