文章目录
- 一、前期准备工作
- 二、安装编译所需工具
- 2.1 安装JDK
- 2.2 安装Maven
- 2.3 安装Ant
- 2.4 安装ProtoBuf
- 2.5 安装openssl库
- 2.6 安装ncurses-devel库
- 三、开始编译
- 四、常见问题
一、前期准备工作
- 配置CentOS能连接外网,保证Linux虚拟机ping www.baidu.com是畅通的
- 全程使用root用户编译,减少文件夹权限出现问题
- 需要注意,读者如果操作需要按照自己的文件系统目录操作,我的只是示例
- jar包准备
①:hadoop-2.7.2-src.tar.gz(Hadoop源码)
②:jdk-8u144-linux-x64.tar.gz(JDK8)
③:apache-ant-1.9.9-bin.tar.gz(build打包工具)
④:apache-maven-3.0.5-bin.tar.gz(项目构建工具)
⑤:protobuf-2.5.0.tar.gz(序列化框架)
二、安装编译所需工具
2.1 安装JDK
- JDK解压
tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/module/
- 配置环境变量JAVA_HOME和PATH
# 打开配置文件
vi /etc/profile
# 添加下面内容
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
- 刷新配置文件
source /etc/profile
- 验证是否安装成功
java -version
2.2 安装Maven
- Maven解压
tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/
- 配置文件
# 打开配置文件
vi conf/settings.xml
# 添加下面内容
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
- 配置环境变量MAVEN_HOME和PATH
# 打开配置文件
vi /etc/profile
# 添加如下内容
export MAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin
- 刷新配置文件
source /etc/profile
- 验证是否安装成功
mvn -version
2.3 安装Ant
- Ant解压
tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/
- 配置环境变量ANT _HOME和PATH
# 打开配置文件
vi /etc/profile
# 添加如下内容
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT_HOME/bin
- 刷新配置文件
source /etc/profile
- 验证是否安装成功
ant -version
2.4 安装ProtoBuf
- 安装glibc-headers和g++
yum install glibc-headers
yum install gcc-c++
- 安装make和cmake
yum install make
yum install cmake
- 解压protobuf ,进入到解压后protobuf主目录
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
- 配置环境变量LD_LIBRARY_PATH和PATH
# 打开配置文件
vi /etc/profile
# 添加如下内容
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH
- 刷新配置文件
source /etc/profile
- 验证安装是否成功
protoc --version
2.5 安装openssl库
yum install openssl-devel
2.6 安装ncurses-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
- 等待时间30分钟左右,最终成功是全部SUCCESS
- 成功的64位hadoop包在/opt/hadoop-2.7.2-src/hadoop-dist/target下
cd /opt/hadoop-2.7.2-src/hadoop-dist/target
四、常见问题
- MAVEN install时候JVM内存溢出
解决方法:在环境配置文件和maven的执行文件均可调整MAVEN_OPT的heap大小 - 编译期间maven报错。可能网络阻塞问题导致依赖库下载不完整导致,多次执行命令(一次通过比较难)
mvn package -Pdist,nativeN -DskipTests -Dtar
- 报ant、protobuf等错误
解决方法:插件下载未完整或者插件版本问题