Hadoop 2.*源码编译

Hadoop主要包含四个模块

  • Hadoop Common: 为其他Hadoop模块提供基础设施。
  • Hadoop HDFS: 一个高高靠、高吞吐量的分布式文件系统。
  • Hadoop MapReduce: 一个分布式的计算框架,包括任务调度和集群资源管理。
  • Hadoop YARN: 一个新的MapReduce框架

环境#

maven##

最新的Hadoop采用maven作为项目构建工具,所以系统需要安装maven。

protoc 2.5.0##

hadoop的编译需要protoco 2.5。如果没有安装,编译的时候会报错误
"protoc -version doesn't report a value"

下载protobuf-2.5.0.tar.gz ,然后

tar -zxvf protobuf-2.5.0.tar.gz
cd protocobuf-2.5.0
.configure
make
sudo make install

然后检查protoc是否正确安装

protoc -version

如果出现以下错误“protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory”,那么再执行下面的命令即可

sudo ldconfig

编译#

首先在github上下载hadoop源码。
然后进入hadoop源码目录,执行以下命令

mvn install -DskipTests
mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true

然后就可以编译了

mvn package -Pdist -DskipTests -Dtar

编译结果在每个项目的target下面。
比如,hadoop-hdfs的编译结果在

hadoop-hdfs-project/hadoop-hdfs/target/hadoop-hdfs-2.7.2

参考http://www.cnblogs.com/meibenjin/p/3172889.html

你可能感兴趣的:(Hadoop 2.*源码编译)