hadoop1.0.4 eclipse插件编译

本文指导如何使用eclipse、jdk、ant等工具安装并配置Hadoop Eclipse插件,包括Ant安装、编译Hadoop插件、解决权限问题及安装插件的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:http://blog.youkuaiyun.com/weijonathan/article/details/8282661


一、所需工具

     eclipse-java-juno-SR1-win32.zip
     jdk-6u37-linux-x64.bin
     apache-ant-1.8.4-bin.zip
     hadoop-1.0.4
二、Ant安装
     将Ant解压放在合适目录:比如D盘。
     配置Ant环境变量,在Path中添加:F:\hadoop\ant\bin。
     控制台中输入echo %PAHT% 使环境变量生效。(没必要重启)
三、编译hadoop-eclipse-plugins-1.0.4.jar
     1、解压hadoop
           目录为     F:\hadoop\hadoop-1.0.4
     2、进入F:\hadoop\hadoop-1.0.4\src\contrib目录。将build-contrib.xml复制到 F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin目录下。
     3、修改build-contrib.xml文件
           将hadoop.root改为hadoop解压目录
           <property name=”hadoop.root” location=”F:/hadoop/hadoop-1.0.4″/>
           在下面添加如下两行:Eclipse安装根目录,和hadoop版本
           <property name=”eclipse.home” location=”E:/software/deploymentTool/eclipse”/>
           <property name=”version” value=”1.0.4″/>
           具体位置需要改为你的,注意location里的斜杠方向
    4、修改build.xml:找到<import file="../build-contrib.xml"/>,改为<import file="build-contrib.xml"/>
    5、在F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin 目录下创建lib目录,并将以下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
    6、在F:\hadoop\hadoop-1.0.4下创建build文件夹,将hadoop-core-1.0.4.jar复制进来
 最近因为windows权限问题搞了好久的插件问题,像0700BUG权限认证问题。
[plain]  view plain copy
  1. ERROR security.UserGroupInformation:PriviledgedActionException as:admin cause:java.io.IOException:Failed to set permissions of path:\home\hadoop\hadoop-1.0.4\data\data\mapred\staging\admin1107758487\.staging to 0700  
  2.     Execption in threa "main" java.io.IOException:Failed to set permissions of path:\home\hadoop\hadoop-1.0.4\data\data\mapred\staging\admin1107758487\.staging to 0700  
  3.     at org.apache.hadoop.fs.FileUtil.checkRetrunVlues(FileUtil.java:682)  
  4.     at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java.655)  

这边要解决0007问题,hadoop-core-1.0.4.jar要覆盖掉里面的FileUtil的class文件,再打包一个,这里提供一个我的解决0007问题的hadoop-core-1.0.4.jar 包。先把之前的hadoop-core-1.0.4.jar修改为hadoop-core-1.0.4.jar_back,然后再把我这边提供的hadoop-core-1.0.4.jar放到hadoop目录下,然后拷贝这个hadoop-core-1.0.4.jar进build的目录。
  
下载地址:解决0700的 eclipse 插件 http://download.youkuaiyun.com/detail/weijonathan/4919830
解决0700的hadoop-core-1.0.4.jar
http://download.youkuaiyun.com/detail/weijonathan/4919824  
    7、在F:\hadoop\hadoop-1.0.4\build目录下创建F:\hadoop\hadoop-1.0.4\build\ivy\lib\Hadoop\common目录并将
          commons-cli- 1.2.jar复制到该目录下
    8、修改build.xml文件。目录:F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin
         1)、在<target name=”jar” depends=”compile” unless=”skip.contrib”>标签底下的
        
[plain]  view plain copy
  1. <copy file=”${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar” todir=”${build.dir}/lib” verbose=”true”/>后面添加一下行  
  2.         <copy file=”${root}/lib/commons-configuration-1.6.jar” todir=”${build.dir}/lib” verbose=”true”/>  
  3.   
  4.          <copy file=”${root}/lib/commons-httpclient-3.0.1.jar” todir=”${build.dir}/lib” verbose=”true”/>  
  5.   
  6.          <copy file=”${root}/lib/commons-lang-2.4.jar” todir=”${build.dir}/lib” verbose=”true”/>  
  7.   
  8.           <copy file=”${root}/lib/jackson-core-asl-1.8.8.jar” todir=”${build.dir}/lib” verbose=”true”/>  
  9.   
  10.           <copy file=”${root}/lib/jackson-mapper-asl-1.8.8.jar” todir=”${build.dir}/lib” verbose=”true”/>  

        2)、在<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">标签中的<javac>标签中添加属性includeantruntime     --防止编译过程中提示includeantruntime 属性未设置问题        
[html]  view plain copy
  1. <target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">  
  2.     <echo message="contrib: ${name}"/>  
  3.     <javac  
  4.      encoding="${build.encoding}"  
  5.      srcdir="${src.dir}"  
  6.      includes="**/*.java"  
  7.      destdir="${build.classes}"  
  8.      debug="${javac.debug}"  
  9.      includeantruntime="on">  
  10.      <classpath refid="classpath"/>  
  11.     </javac>  
  12.   </target>  

       3)、在build.xml中添加-防止问题 编译错误,提示“软件包org.apache.hadoop.fs 不存在“

[html]  view plain copy
  1. <span style="white-space:pre">  </span><path id="hadoop-jars">  
  2.                <fileset dir="${hadoop.root}/">  
  3.                     <include name="hadoop-*.jar"/>  
  4.                </fileset>   
  5.      <span style="white-space:pre"> </span></path>  

        在<path id="classpath">中添加:<path refid="hadoop-jars"/>

4)、修改F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin\META-INF的MANIFEST.MF文件

[plain]  view plain copy
  1. Bundle-ClassPath: classes/,  
  2.   lib/hadoop-core.jar,  
  3.  lib/commons-cli-1.2.jar,  
  4.  lib/commons-configuration-1.6.jar,  
  5.   lib/commons-httpclient-3.0.1.jar,  
  6.   lib/commons-lang-2.4.jar,  
  7.  lib/commons-jackson-core-asl-1.8.8.jar,  
  8.   lib/commons-jackson-mapper-asl-1.8.8.jar  


      5)、进入F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin目录下,执行ant命令就可以了!编译结果放在F:\hadoop\hadoop-1.0.4\build\contrib\eclipse-plugin目录下。

四、eclipse hadoop插件安装

       将编译好的eclipse插件放入eclipse的dropins目录中,重启eclipse就OK了!

五、 配置eclipse插件。

        1、打开eclipse,打开map/Reduce Locations

        2、右键New Hadoop Location...,输入Location Name(这个可以随意输入),修改Map/Reduce Master和DFS Master

             User name设置你启动hadoop的名称。

       3、点到Advanced parameters

            修改hadoop.tmp.dir修改为你hadoop集群中设置的目录。

            修改 dfs.permissions.supergroup为hadoop,hadoop

            修改dfs.replication 为你hdfs-site.xml文件中配置的值

       4、重启eclipse,之后你会发现其他参数eclipse自动帮你联网加载上去了!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值