天天看点

Hadoop2.7.2源码在64位Centos Linux下编译

一.在Hadoop官网上下载源码包 

1. 在 Hadoop官网上下载hadoop-2.7.2的源码包,下载地址: http://mirrors.noc.im/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2-src.tar.gz 

2. 把下载下来的源码包,上传到linux上,在这里我放在了/home/soft/下

二.准备linux上运行环境 

1. 上传jdk、ant、maven、protobuf等到到linux上,在这里我放在了/home/soft/下 

2. 安装jdk 

使用命令:rpm -ivh jdk-7u67-linux-x64.rpm 

安装完后配置环境变量,修改/etc/profile文件,命令:vi /etc/profile 

在最后添加内容: 

export JAVA_HOME=/usr/ Java /jdk1.7.0_67/ 

export PATH=$PATH:$JAVA_HOME/bin

使用命令生效:source /etc/profile 

测试:java -version 

3.安装maven 

解压maven到/opt/目录下,并配置环境变量 

解压命令:tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /opt/ 

修改/etc/profile文件,在文件末尾新增下面两行内容: 

export MAVEN_HOME=/opt/apache-maven-3.3.9 

export PATH= $PATH:$ MAVEN_HOME/bin 

使用命令生效:source /etc/profile 

4.安装g++ 

安装命令:yum -y install gcc gcc-c++ 

5.安装protobuf 

解压protobuf到当前目录 

解压命令:tar -zxvf protobuf-2.5.0.tar.gz 

cd protobuf-2.5.0/ 

编译安装 

预编译命令:./configure –prefix=/opt/protobuf-2.5 

编译和安装命令:make && make install 

配置环境变量,修改/etc/profile文件,末尾添加下面两行内容: 

export PROTOBUF_HOME=/opt/protobuf-2.5 

export PATH=$PATH:$ PROTOBUF_HOME/bin 

使用命令生效:source /etc/profile 

6.安装openssl 

安装命令:yum -y install openssl-devel 

7.安装cmake 

安装命令:yum -y install cmake 

8.安装ant 

解压maven到/opt/目录下,并配置环境变量 

解压命令:tar -zxvf apache-ant-1.9.7-bin.tar.gz -C /opt/ 

修改/etc/profile文件,在文件末尾新增下面两行内容: 

export ANT_HOME=/opt/apache-ant-1.9.7/ 

export PATH=$PATH:$ ANT_HOME/bin 

使用命令生效:source /etc/profile

三.编译 

1.解压hadoop-2.7.2 tar包 

解压命令:tar -zxvf hadoop-2.7.2-src.tar.gz 

2.编译 

cd hadoop-2.7.2-src 

编译命令:mvn package -Pdist,native -DskipTests -Dtar 

3.编译成功并查看 

编译完成后,在hadoop-dist/target/目录下查看,会有hadoop-2.7.2.tar.gz这个文件 

四.问题总结 

编译过程中会报各种错,可以直接终止编译,在重新执行编译,多执行几次就可以了,一般都是因为网络原因jar包下载有问题或maven仓库连接超时等原因,我共执行了5次就成功了。在说明下,我在用root用户执行编译的,如果用其他的用户编译可能会存在权限问题。

继续阅读