编译Apache Hadoop2.2.0源代码

Hadoop2的学习资料很少,只有官网的少数文档。如果想更深入的研究hadoop2,除了仅看官网的文档外,还要学习如何看源码,通过不断的调试跟踪源码,学习hadoop的运行机制。

1.安装CentOS

我使用的是CentOS6.5,下载地址是http://mirror.neu.edu.cn/centos/6.5/isos/x86_64/,选择CentOS-6.5-x86_64-bin-DVD1.iso 下载,注意是64位的,大小是4GB,需要下载一段时间的。其实6.x的版本都可以,不一定是6.5。

我使用的是VMWare虚拟机,分配了2GB内存,20GB磁盘空间。内存太小,会比较慢;磁盘太小,编译时可能会出现空间不足的情况。上述不是最低配置,根据自己的机器配置修改吧。还有,一定要保持linux联网状态。

以下是按照各种软件,我把软件下载后全部复制到/usr/local目录下,以下命令执行的路径是在/usr/local目录下。请读者在阅读时,一定要注意路径。

2.安装JDK

hadoop是java写的,编译hadoop必须安装jdk。

从Oracle官网下载jdk,下载地址是http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,选择 jdk-7u45-linux-x64.tar.gz下载。

执行以下命令解压缩jdk

tar -zxvf  jdk-7u45-linux-x64.tar.gz

会生成一个文件夹jdk1.7.0_45,然后设置环境变量中。

执行命令 vi /etc/profile,增加以下内容到配置文件中,结果显示如下

编译Apache Hadoop2.2.0源代码

保存退出文件后,执行以下命令

source  /etc/profile

java -version

如果看到下面的显示信息,证明配置正确了。

编译Apache Hadoop2.2.0源代码

3.安装maven

hadoop源码是使用maven组织管理的,必须下载maven。从maven官网下载,下载地址是http://maven.apache.org/download.cgi,选择 apache-maven-3.0.5-bin.tar.gz 下载,不要选择3.1下载。

执行以下命令解压缩jdk

tar -zxvf  apache-maven-3.0.5-bin.tar.gz

会生成一个文件夹apache-maven-3.0.5,然后设置环境变量中。

执行命令vi /etc/profile,编辑结果如下图所示

编译Apache Hadoop2.2.0源代码

保存退出文件后,执行以下命令

source  /etc/profile

mvn -version

如果看到下面的显示信息,证明配置正确了。

编译Apache Hadoop2.2.0源代码

4.安装findbugs(可选步骤)

findbugs是用于生成文档的。如果不需要编译生成文档,可以不执行该步骤。从findbugs官网下载findbugs,下载地址是http://sourceforge.jp/projects/sfnet_findbugs/releases/,选择findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz下载。

执行以下命令解压缩jdk

tar -zxvf  findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz

会生成一个文件夹findbugs-3.0.0-dev-20131204-e3cbbd5,然后设置环境变量中。

执行命令vi /etc/profile,编辑结果如下图所示

编译Apache Hadoop2.2.0源代码

保存退出文件后,执行以下命令

source  /etc/profile

findbugs -version

如果看到下面的显示信息,证明配置正确了。

编译Apache Hadoop2.2.0源代码

5.安装protoc

hadoop使用protocol buffer通信,从protoc官网下载protoc,下载地址是https://code.google.com/p/protobuf/downloads/list,选择protobuf-2.5.0.tar.gz 下载。

为了编译安装protoc,需要下载几个工具,顺序执行以下命令

yum install gcc

yum intall gcc-c++

yum install make

如果操作系统是CentOS6.5那么gcc和make已经安装了。其他版本不一定。在命令运行时,需要用户经常输入“y”。

然后执行以下命令解压缩protobuf

tar -zxvf  protobuf-2.5.0.tar.gz

会生成一个文件夹protobuf-2.5.0,执行以下命令编译protobuf。

cd protobuf-2.5.0

./configure --prefix=/usr/local/protoc/

make && make install

只要不出错就可以了。

执行完毕后,编译后的文件位于/usr/local/protoc/目录下,我们设置一下环境变量

执行命令vi /etc/profile,编辑结果如下图所示

编译Apache Hadoop2.2.0源代码

保存退出文件后,执行以下命令

source  /etc/profile

protoc --version

如果看到下面的显示信息,证明配置正确了。

编译Apache Hadoop2.2.0源代码

6.安装其他依赖

顺序执行以下命令

yum install cmake

yum install openssl-devel

yum install ncurses-devel

安装完毕即可。

相关阅读

相关推荐