说实话,本人编译hadoop的过程比较曲折,但收获也很多,下面系统介绍一下CentOS7下编译hadoop-2.7.1的全过程吧。
1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具。
到官网http://hadoop.apache.org/releases.html,点击source下载hadoop-2.7.1-src.tar.gz。
解压之
tar -zxvf hadoop-2.7.1-src.tar.gz
得到hadoop-2.7.1-src文件夹。
进入hadoop-2.7.1-src文件夹,查看BUILDING.txt
1
2
|
cd
hadoop-2.7.1-src
vim BUILDING.txt
|
可以看到编译所需的库或者工具:
包括:
1
2
3
4
5
6
7
|
JDK1.7+
maven 3.0 or later
findbugs 1.3.9
protocolBuffer 2.5.0
cmake 2.6
zlib-devel
openssl-devel
|
除了上面这些,为了不出错,实际还需要autoconf automake gcc等。
下面开始准备这些工具:
首先使用su命令获取root权限,以免受到各种限制
2.下载jdk-7u79-linux-x64.tar.gz,解压后移动到/opt目录下
1
2
|
tar
-zxvf jdk-7u79-linux-x64.
tar
.gz
mv
jdk1.7.0_79
/opt
|
然后打开/etc/profile配置jdk环境变量
1
2
3
4
5
6
7
8
|
vim
/etc/profile
按 i 进入插入模式,在文件末尾添加
export
JAVA_HOME=
/opt/jdk1
.7.0_79
export
CLASSPATH=.:$JAVA_HOME
/jre/lib/rt
.jar:$JAVA_HOME
/lib/tools
.jar
export
PATH=$PATH:$JAVA_HOME
/bin
export
JRE_HOME=
/opt/jdk1
.7.0_79
/jre
export
PATH=$PATH:$JRE_HOME
/bin
<br>先后按Esc, Shift+:, wq, 回车即可保存并退出编辑。<br>输入
source
/etc/profile
回车即可保存更改。
|
运行javac -version 查看状态:
3.下面安装各种库,
1
2
|
yum -y
install
svn ncurses-devel
gcc
*
yum -y
install
lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
|
4.安装protobuf-2.5.0.tar.gz(注意版本必须是2.5.0)
地址链接: http://pan.baidu.com/s/1eQDE7TK 密码: r9s2
1
|
tar
zxvf protobuf-2.5.0.
tar
.gz
|
进入protobuf-2.5.0依次执行
1
2
3
4
|
cd
protobuf-2.5.0
.
/configure
make
make
install
|
验证安装是否完成
1
|
protoc --version
|
出现
5.安装maven
下载apache- maven- 3.2.3- bin.tar.gz
解压缩并配置环境变量
1
2
3
4
5
6
7
8
9
10
|
解压:
tar
-zxvf apache-maven-3.3.3-bin.
tar
.gz
移动到
/opt
目录下:
mv
apache-maven-3.3.3
/opt
配置环境变量:
vim
/etc/profile
在末尾添加:
export
MAVEN_HOME=
/opt/apache-maven-3
.3.3
export
MAVEN_OPTS=
"-Xms256m -Xmx512m"
export
PATH=$PATH:$MAVEN_HOME
/bin
<br><br>先按Esc, Shift+:, wq, 回车即可保存并推出编辑。<br>输入
source
/etc/profile
回车即可保存更改。<br><br>查看安装状态: mvn -version
|
看到
6.安装ant
解压缩并配置环境变量
1
2
3
4
5
6
7
8
9
10
11
|
解压:
tar
-zxvf apache-ant-1.9.7-bin.
tar
.gz
移动到
/opt
目录下
mv
apache-ant-1.9.7
/opt
配置环境变量
同上,在
/etc/profile
文件末未添加:
export
ANT_HOME=
/opt/apache-ant-1
.9.7
export
PATH=$PATH:$ANT_HOME
/bin
然后保存,退出,并使更改生效。
查看安装结果:
ant -version
|
7.安装findbugs
下载findbugs-3.0.1.tar.gz,选择上面的standard version即可
解压缩并配置环境变量
1
2
3
4
5
6
7
8
9
10
|
解压:
tar
-zxvf findbugs-3.0.1.
tar
.gz
移动到
/opt
目录下
mv
findbugs-3.0.1
/opt
配置环境变量:
在
/etc/profile
文件末尾添加:
export
FINDBUGS_HOME=
/opt/findbugs-3
.0.1
export
PATH=$PATH:$FINDBUGS_HOME
/bin
保存退出,并使更改生效。
查看安装结果
|
8.准备完成,下面开始编译hadoop
进入到hadoop-2.7.1-src目录
生成docs
mvn package -DskipTests -Pdist,native,docs -Dtar
不生成docs
mvn package -Pdist,native -DskipTests -Dtar
1
2
3
4
|
使用命令:
mvn clean package –Pdist,native –DskipTests –Dtar
或者:
mvn package -Pdist,native -DskipTests -Dtar
|
进行编译。
务必保持网络畅通,经过漫长的等待(本人的比较慢,花了2小时57分钟)看到下图即表明编译成功!
编译好的文件在/hadoop-dist/target/hadoop-2.7.1.tar.gz下。
注意事项:
1.所有命令,建议手敲,不建议复制粘贴,以避免因为页面空格造成的不必要错误。
2.务必保持网络畅通,如果出现缺少某个文件,则要先清理maven(使用命令 mvn clean) 再重新编译。
3.如果总是出现同一个错误导致编译失败,则可能是缺少某个库或者工具,检查上述工具是否都安装成功,并且版本正确。