• hadoop0.20.2 Eclipse下编译过程


    1. 下载Hadoop源代码
    Hadoop 各成员源代码下载地址:http://svn.apache.org/repos/asf/hadoop,请使用SVN下载,在SVN浏览器中将trunk目录下的源代码check-out 出来即可。请注意只check-out出SVN 上的tag 目录下的内容,如:
    http://svn.apache.org/repos/asf/hadoop/common/tag/release-0.20.2


    2. 准备编译环境

    2.1. 系统

    CentOS5.5

    2.2. Hadoop代码版本
    hadoop-0.20.2-release

    2.3. 联网
    编译Hadoop 会依赖很多第三方库,但编译工具Ant 会自动从网上下载缺少的库,所以必须保证机器能够访问Internet。
    2.4. java
    编译Hadoop 要用JDK1.6 以上,网址:http://java.sun.com/javase/downloads/index.jsp
    安装好之后,请设置好JAVA_HOME 环境变量。
    2.5. Ant
    需要使用Ant 工具来编译Hadoop,可以从:http://ant.apache.org/ivy/download.cgi 下载Ant

    安装好之后,请设置好ANT_HOME 环境变量。

    2.6. Eclipse

    Eclipse 则可以从http://www.eclipse.org/downloads/上下载。

    3. 编译Hadoop

    3.1. 编译Hadoop
    步骤1) 在Elipse 的Package 视图中单击右键,选择New->Java Project,如下图所示:

     

    步骤2) 选择源代码目录,设置Project 名。

     

    在上图所示的对话框中,点击Browse 按钮,选择hadoop-0.20.2 源代码目录,并设置Projectname 为hadoop-0.20.2-dev。工程导入完成后,进入Eclipse 主界面,可以看到hadoop-0.20.2 已经导入进来,但可以看到目录上有红叉叉,是因为Elipse 默认使用了Java Builder,而不是Ant Builder,所以下一步就是设置使用Ant Builder。


    步骤3) 设置Builder 为Ant:右键hadoop-0.20.2-dev>Properties->Builders:

     

    在上图所示的界面中,点击New 按钮,在弹出的对话框中选中Ant Builder,确定之后会弹出如下对话框:

     

    点击Browse File System 按钮,选择hadoop-0.20.2源代码目录下的build.xml 文件,并设置Name 为Ant_Builder(Name 可以改成其它的,但建议使用Ant_Builder,因为这样名副其实),操作结果如下图所示:

     

    除上图所示的设置外,还需要设置如下图所示的Targets,建议设置成Manual Build 编译方式,而不是Auto Build 编译方式。因为在Auto Build 模式下,任何修改都会触发编译,而Manual Build 模式下,只在需要的时候,点击编译按钮或菜单编译即可。

     

    Hadoop 各成员都需要编译成jar,所以做如下图所示的一个修改:

     

    确定之后,返回如下图所示的Edit Configuration 对话框:

     

    上面完成后,回到Builder 的主对话框,再将对话框中的Java Builder 下移,并将它前面的勾去掉。
    进入Eclipse 主界面,由于之前选择了Manual Build,所以需要人工方式驱动编译,编译成功后,可以看到BUILD SUCCESSFUL 字样。

     

      请注意:如果上图所示的菜单中的Build Automatically 被勾中,则在common 的右键菜单中可能不会出现Build 子菜单。
          在编译过程中,Ant 会自动从网上下载所依赖的库。hadoop-0.20.2 编译成功结束后,可以在build 目录下找到编译后生成的文件hadoop-core-0.20.2-dev.jar。

    3.2编译过程中出现错误


    1、可能有时候因为eclipse版本或者操作系统版本的问题使得hadoop 提供的 eclipse plugin不太好用。
    解决方法:
    1)修改$HADOOP_HOME/src/contrib/build-contrib.xml
    增加一行:<property name="eclipse.home" location="/home/gushui/eclipse"/>
    上句后面的/home/gushui/eclipse由自己的$ECLIPSE_HOME代替

    2)修改 $HADOOP_HOME/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/launch/HadoopApplicationLaunchShortcut.java
    注释掉原来的//import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
    改为import org.eclipse.jdt.debug.ui.launchConfigurations.JavaApplicationLaunchShortcut;

    2、报错:

    Build failed

    Can not write to the specified tarfile!

    解决方法:

    hadoop-0.20.2-dev目录下的Build.xml中
    <!--   
    <tar compression="gzip" destfile="${build.classes}/bin.tgz">
          <tarfileset dir="bin" mode="755"/>
        </tar> 
     -->

    注销掉,运行成功。

    参考 http://blog.csdn.net/basicthinker/article/details/6174442   

    参考: http://hi.baidu.com/xxjjyy2008/blog/item/7b5ed10f20e6a9346059f335.html

    参考:http://hadoop.hadoopor.com/thread-941-1-1.html
    http://trac.nchc.org.tw/cloud/wiki/waue/2010/0211

  • 相关阅读:
    [ARC080D] Prime Flip
    硬币游戏
    点分治
    OneInDark对众数的爱
    [CF838D] Airplane Arrangements
    网络流总结(转载)
    二分图最大权完美匹配(KM)
    网络流
    FWT
    FFT & NTT
  • 原文地址:https://www.cnblogs.com/zyumeng/p/2975165.html
Copyright © 2020-2023  润新知