hadoop 0.20.2 java_hadoop-0.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

3.编译Hadoop

3.1.编译Hadoop

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

2975165.html 

275e24e375de5a7694ca965f5f8d050f.png

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

930e196daebba7a61a47cd7d429f8999.png

在上图所示的对话框中,点击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:

6a19400ed9f43223412071e5883d0684.png

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

69e2e27ee0f4f59ae34a5ff9cf81ab6e.png

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

9649e8b7381e2ada9fa6aeba79bc826f.png

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

2dd2a9555d52cb145e3d3d9a8bb75c12.png

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

1c257590b988e073c469c39012addc91.png

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

8902fdfecdcf2ea03ab70de32535e667.png

上面完成后,回到Builder 的主对话框,再将对话框中的Java Builder 下移,并将它前面的勾去掉。

进入Eclipse 主界面,由于之前选择了Manual Build,所以需要人工方式驱动编译,编译成功后,可以看到BUILD

SUCCESSFUL 字样。

9223314d520b1ecd9c39147b1f729a61.png

请注意:如果上图所示的菜单中的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

增加一行:

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中

注销掉,运行成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值