文章目录

  • 一、前期准备工作
  • 二、安装编译所需工具
  • 2.1 安装JDK
  • 2.2 安装Maven
  • 2.3 安装Ant
  • 2.4 安装ProtoBuf
  • 2.5 安装openssl库
  • 2.6 安装ncurses-devel库
  • 三、开始编译
  • 四、常见问题


一、前期准备工作

  1. 配置CentOS能连接外网,保证Linux虚拟机ping www.baidu.com是畅通的
  2. 全程使用root用户编译,减少文件夹权限出现问题
  3. 需要注意,读者如果操作需要按照自己的文件系统目录操作,我的只是示例
  4. 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

  1. JDK解压
tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/module/
  1. 配置环境变量JAVA_HOME和PATH
# 打开配置文件
vi /etc/profile

# 添加下面内容
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
  1. 刷新配置文件
source /etc/profile
  1. 验证是否安装成功
java -version

2.2 安装Maven

  1. Maven解压
tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/
  1. 配置文件
# 打开配置文件
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>
  1. 配置环境变量MAVEN_HOME和PATH
# 打开配置文件
vi /etc/profile

# 添加如下内容
export MAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin
  1. 刷新配置文件
source /etc/profile
  1. 验证是否安装成功
mvn -version

2.3 安装Ant

  1. Ant解压
tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/
  1. 配置环境变量ANT _HOME和PATH
# 打开配置文件
vi /etc/profile

# 添加如下内容
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT_HOME/bin
  1. 刷新配置文件
source /etc/profile
  1. 验证是否安装成功
ant -version

2.4 安装ProtoBuf

  1. 安装glibc-headers和g++
yum install glibc-headers
yum install gcc-c++
  1. 安装make和cmake
yum install make
yum install cmake
  1. 解压protobuf ,进入到解压后protobuf主目录
tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/
cd /opt/module/protobuf-2.5.0/
  1. 相继按顺序执行以下命令
./configure
make
make check
make install
ldconfig
  1. 配置环境变量LD_LIBRARY_PATH和PATH
# 打开配置文件
vi /etc/profile

# 添加如下内容


export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH
  1. 刷新配置文件
source /etc/profile
  1. 验证安装是否成功
protoc --version

2.5 安装openssl库

yum install openssl-devel

2.6 安装ncurses-devel库

yum install ncurses-devel

三、开始编译

  1. 解压源码到/opt/目录
tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/
  1. 进入到hadoop源码主目录
cd /opt/hadoop-2.7.2-src
  1. 通过maven执行编译命令
mvn package -Pdist,native -DskipTests -Dtar
  1. 等待时间30分钟左右,最终成功是全部SUCCESS
  2. 成功的64位hadoop包在/opt/hadoop-2.7.2-src/hadoop-dist/target下
cd /opt/hadoop-2.7.2-src/hadoop-dist/target

四、常见问题

  1. MAVEN install时候JVM内存溢出
    解决方法:在环境配置文件和maven的执行文件均可调整MAVEN_OPT的heap大小
  2. 编译期间maven报错。可能网络阻塞问题导致依赖库下载不完整导致,多次执行命令(一次通过比较难)
mvn package -Pdist,nativeN -DskipTests -Dtar
  1. 报ant、protobuf等错误
    解决方法:插件下载未完整或者插件版本问题