对于官网提供的hadoop成品文件,是在32位的状态下编译打包的,为了充分发挥64位系统和硬件的实力,我们准备在64位环境下进行编译打包处理。
编译环境
系统:CentOS7
java版本:jdk1.8.0_144
硬件:四核8GiB内存
编译准备
- 安装jdk,首先去jdk官网下载rpm结尾的jdk文件
rpm -ivh jdk8u144.rpm
- 安装maven
wget http://ftp.cuhk.edu.hk/pub/packages/apache.org/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz -O apache-maven-bin.tar.gz tar -zvxf apache-maven-bin.tar.gz mv apache-maven-3.5.2/ /usr/local
- 安装cmake
yum install cmake
- 安装protoc(必须2.5.0版本,否则出错)
yum install gcc gcc-c++ tar -zvxf protocbuff-2.5.0.tar.gz cd ./protocbuff-2.5.0 ./configure --prefix=/usr/local/protoc-2.5.0 make && make install ln -s /usr/local/protoc-2.5.0 /usr/local/bin/protoc
- 安装ant
tar -zvxf apache-ant-1.10.1-bin.tar.gz mv apache-ant-1.10.1 /usr/local
- 安装其他依赖
yum install ncurses* zlib* openssl*
- 安装findbugs
tar -zvxf findbugs-3.0.1.tar.gz mv findbugs-3.0.1 /usr/local/
- 修改/etc/profile
vi /etc/profile
添加一下内容
###maven MAVEN_HOME=/usr/local/apache-maven-3.5.2/ ###ant ANT_HOME=/usr/local/apache-ant-1.10.1/ ###findbugs FINDBUGS=/usr/local/findbugs-3.0.1/ ##PATH PATH=$PATH:$MAVEN_HOME/bin:$ANT_HOME/bin:$FINDBUGS/bin
编译过程
上传hadoop源码包,解压
tar -zvxf hadoop-2.9.0-src.tar.gz
进入文件夹使用maven进行构建
cd hadoop-2.9.0-src/ mvn package -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true
注意,Dmaven.javadoc.skip参数是跳过文档生成,节省空间。
生成完成
当我们构建完成后,就会有如下图一样的提醒。

生成的hadoop编译文件在./hadoop-2.9.0-src/hadoop-dist/target里面
文章评论