前期准备工作
jar包准备(hadoop源码、JDK7 、 maven、 ant 、protobuf)
- hadoop-2.7.2-src.tar.gz
- jdk-8u171-linux-x64.tar.gz
- snappy-1.1.3.tar.gz
- apache-maven-3.0.5-bin.tar.gz
- protobuf-2.5.0.tar.gz
Jar包安装
请以root用户执行程序
- JDK解压、配置环境变量 JAVA_HOME和PATH,验证java-version(如下都需要验证是否配置成功)
[root@hadoop101 software] # tar -zxf jdk-7u79-linux-x64.gz-C /opt/module/
[root@hadoop101 software]# vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
验证命令:java -version - Maven解压、配置 MAVEN_HOME和PATH。
[root@hadoop101 software]# tar -zxvfapache-maven-3.0.5-bin.tar.gz -C /opt/module/
[root@hadoop101 apache-maven-3.0.5]# vi/etc/profile
#MAVEN_HOME
exportMAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin[root@hadoop101 software]#source /etc/profile
验证命令:mvn -version
编译源码
- 准备编译环境
[root@hadoop101software]# yuminstall svn
[root@hadoop101software]# yuminstall autoconf automake libtool cmake
[root@hadoop101software]# yuminstall ncurses-devel
[root@hadoop101software]# yuminstall openssl-devel
[root@hadoop101software]# yum install gcc* 编译安装snappy
[root@hadoop101software]# tar -zxvfsnappy-1.1.3.tar.gz -C /opt/module/
[root@hadoop101 module]# cd snappy-1.1.3/
[root@hadoop101 snappy-1.1.3]# ./configure
[root@hadoop101 snappy-1.1.3]# make
[root@hadoop101 snappy-1.1.3]# make install
# 查看snappy库文件
[root@hadoop101 snappy-1.1.3]# ls -lh /usr/local/lib |grep snappy
编译安装protobuf
[root@hadoop101 software]# tar -zxvfprotobuf-2.5.0.tar.gz -C /opt/module/
[root@hadoop101 module]# cd protobuf-2.5.0/
[root@hadoop101 protobuf-2.5.0]#./configure
[root@hadoop101 protobuf-2.5.0]# make
[root@hadoop101 protobuf-2.5.0]# make install
# 查看protobuf版本以测试是否安装成功
[root@hadoop101 protobuf-2.5.0]# protoc --version
编译hadoop native
[root@hadoop101 software]# tar -zxvfhadoop-2.7.2-src.tar.gz
[root@hadoop101 software]# cd hadoop-2.7.2-src/
[root@hadoop101 software]#mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib
-Dbundle.snappy
执行成功后,/opt/software/hadoop-2.7.2-src/hadoop-dist/target/hadoop-2.7.2.tar.gz即为新生成的支持snappy压缩的二进制安装包。