Hadoop0.21.0源码编译流程

转自:http://blog.csdn.net/npucloud/article/details/6414072  Author:谢

 

本文介绍在Linux下使用eclipse编译Hadoop0.21.0源码,参考Hadoop0.21.0编译手册

假设安装环境已配置好:eclipse3.X + jdk1.6

第一步,下载hadoop0.21.0release版本

    下载镜像:http://labs.renren.com/apache-mirror//hadoop/core/hadoop-0.21.0/ ,下载后解压,可看到文件夹内包含三个子文件夹common,hdfs,mapred,分别对应hadoop common,HDFS,Mapreduce的编译文件夹。

第二步,编译common模块

在common工程上点击右键,选择属性。

image

image

去掉Java Builder前面的钩,点击new按钮新建ant编译器

image

image

为builder命名,选择Buildfile位置 Browse File System… 这里需要选择common根目录下的build.xml文件

image

在target选项卡中修改 Manual Build的targets,只保留jar

image

image

在common工程的project选项中去掉自动编译的选项,点击编译,完成

image

image

编译后在common的build目录下即生成了两个jar文件和其他一下文件夹。其中hadoop-common-0.21.1-SNAPSHOT.jar是二进制包,而hadoop-common-0.21.1-SNAPSHOT-sources.jar是源码包。

image

注意:有编译的时候会报找不到lib文件夹的错误,需要在build下手工建立lib文件夹即可

第三步,编译hdfs,mapreduce模块

第二步中新建工程的方法对于hdfs,mapreduce的编译同样适用 

在编译hdfs和mapreduce的时候,由于对common有依赖关系。需要去网站下载相关包。不过在默认的配置中,是找不到该包的,会报模块找不到错误。需要对hdfs,mapreduce的ivy目录中的libraries/properties文件进行修改

image

修改以下两项的值,如下图所示。

image

image

image

然后其他的操作和common编译一样,即可完成编译过程,编译后的build文件夹如下:

image

image

a. Sh ${HADOOP_HOME}/bin/stop-all.sh停掉hadoop集群。然后删除${HADOOP_HOME}下三个工程相关的包。

b. 把编译成功的hadoop-common-0.21.1-SNAPSHOT.jar,hadoop-hdfs-0.21.1-SNAPSHOT.jar和 hadoop-mapred-0.21.1-SNAPSHOT.jar三个jar包拷贝到hadoop集群${HADOOP_HOME}目录下。

c. Sh ${HADOOP_HOME}/bin/start-all.s重启hadoop集群。

d. 查看集群的各项功能,是否正确,正确则证明编译成功。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值