Hadoop2.7.2源码编译过程
目录
准备工作
- CentOS可以联网,验证:ping www.baidu.com 是畅通的
- jar 包准备(hadoop 源码、JDK8、maven、ant 、protobuf)
(1)hadoop-2.7.2-src.tar.gz
(2)jdk-8u144-linux-x64.tar.gz
(3)apache-ant-1.9.9-bin.tar.gz(build 工具,打包用的)
(4)apache-maven-3.0.5-bin.tar.gz
(5)protobuf-2.5.0.tar.gz(序列化的框架)
注意:采用root 角色编译,减少文件夹权限出现问题,最好准备一台干净的机器
jar包安装
- JDK解压,配置环境变量JAVA_HOME和PATH
tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/module/
vi /etc/profile
#JAVA_HOME:
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
验证:java -version
-
Maven 解压、配置MAVEN_HOME 和PATH
tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/
vi conf/settings.xml
在<mirrors></mirrors>添加镜像
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
vi /etc/profile
# MAVEN_HOME
export MAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile
验证:mvn -version
- ant 解压、配置ANT _HOME 和PATH
tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/
vi /etc/profile
# ANT_HOME
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT_HOME/bin
source /etc/profile
验证:ant -version
- 安装glibc-headers 和g++ 命令如下
yum install glibc-headers
yum install gcc-c++
- 安装make 和cmake
yum install make
yum install cmake
- 解压protobuf ,进入到解压后protobuf 主目录,/opt/module/protobuf-2.5.0,然后相继执行命令
tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/
cd /opt/module/protobuf-2.5.0/
./configure
make
make check
make install
ldconfig
vi /etc/profile
# LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH
source /etc/profile
验证:protoc --version
- 安装openssl ,ncurses-devel 库
yum install openssl-devel
yum install ncurses-devel
到此编译工具安装基本完成
源码编译
- 解压源码到/opt/目录
tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/
- 进入到hadoop 源码主目录
cd /opt/hadoop-2.7.2-src
- 通过maven 执行编译命令
mvn package -Pdist,native -DskipTests -Dtar
- 编译成功的64 位hadoop 包在/opt/hadoop-2.7.2-src/hadoop-dist/target 下
197706290
---
本文来自博客园,作者:Bingmous,转载请注明原文链接:https://www.cnblogs.com/bingmous/p/15643720.html