重新安装一台新的虚拟机,设备好网络等,用root角色进行编译,减少文件夹权限问题
准备工作
1.linux系统能连接外网
2.jar包准备
a. hadoop-2.7.2-src.tar.gz
b. jdk-8u144-linux-x64.tar.gz
c. apache-ant-1.9.9-bin.tar.gz(build工具,打包用的)
d. apache-maven-3.0.5-bin.tar.gz
e. protobuf-2.5.0.tar.gz(序列化的框架)
3.在/opt目录下创建/software和/module目录
将准备的jar包上传到/sofeware
4.jdk安装并配置环境变量
tar -zxvf 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=$PATH:$JAVA_HOME/bin
source /etc/profile
验证是否安装成功:java -version
5.maven安装并配置环境变量
tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module
修改maven下conf的settings.xml中的mirror改成aliyun的
vi /etc/profile (修改配置文件)
#MAVEN_HOME
export MAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
验证是否安装成功:mvn -version
6.ANT安装及配置环境变量
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
7.安装 glibc-headers 和 g++ 命令如下
yum -y install glibc-headers
yum -y install gcc-c++
8.安装make和cmake
yum -y install make
yum -y install cmake
9.安装protobuf
tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/
安装后进入protobuf主目录
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
10.安装openssl库
yum install openssl-devel
11.安装ncurses-devel库
yum install ncurses-devel
到此,编译准备工具安装基本完成
编译源码
1.将hadoop-2.7.2-src.tar.gz解压到/opt目录下
tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/
2.进入hadoop源码主目录
cd /opt/hadoop-2.7.2-src
3.通过maven执行编译命令
mvn package -Pdist,native -DskipTests -Dtar
执行结果看机子的配置及网络,在虚拟机上执行,花了11个小时
编译成功后,在/opt/hadoop-2.7.2-src/hadoop-dist/target下可以找到