编译MapReduce Hadoop插件

我的Hadoop版本为1.2.1,Ubuntu 12


一,步骤

1, 在$HADOOP_HOME\src\contrib\eclipse-plugin\build.xml,做如下修改

<path id="hadoop-core-jar">
    <fileset dir="${hadoop.root}/">
        <include name="hadoop*.jar"/>
    </fileset>
  </path>

  <!-- Override classpath to include Eclipse SDK jars -->
  <path id="classpath">
    <pathelement location="${build.classes}"/>
    <pathelement location="${hadoop.root}/build/classes"/>
    <path refid="eclipse-sdk-jars"/>
    <path refid="hadoop-core-jar"/>
  </path>
......
  <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"/>  
    <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>

2. 在$HADOOP_HOME\src\contrib\build-contrib.xml,添加以下几行:

<property name="version" value="1.2.1"/>
  <property name="ivy.version" value="2.1.0"/>
  <property name="eclipse.home" location="/usr/software/eclipse"/>  <!-- 填eclipse所在目录 -->

3, 打开命令行,进入目录$HADOOP_HOME\src\contrib\eclipse-plugin,输入ant编译,如果一切正常就编译通过了。

    最后可以在{hadoophome}\build\contrib\eclipse-plugin路径下找到编译好的插件。把这个插件拷贝到eclipse\plugins里,重启eclipse即可。

二,遇到的问题,编译倒是都过了

1. 在Map/Reduce Location中,点击new或edit没反应。

     解决办法:先前我在src\contrib\eclipse-plugin\build.xml里的copy file里的version写的参数,后来我对着目录把版本号写死,即上面那样,再编译一次,OK,那两个按钮有反应了。


2.An internal error occurred during: "Connecting to DFS XXX

   连不上DFS。

    解决办法:网上说是插件的lib目录里少了jar包,我打开我的一看,不少啊,正如上面配置文件里的那样。后来我打开插件的META-INF\MANIFEST.MF,文件,发现classpath少了内容,改为如下:

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

再把插件放到eclipse的plugins目录,打开eclipse,这次OK了,能连接DFS了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值