1.编译环境与依赖
操作系统:centos7
JDK:1.8
maven:3.6.3
apache-ant:1.9.14
cmake:2.8.12
findbugs:3.0.1
protobuf:2.5.0
snappy:1.1.3
hadoop:2.7.7
2.安装依赖
a.安装gcc,g++
yum install -y gcc
yum install -y gcc-g++
# 验证是否安装成功
gcc -v
g++ -v
b.安装openssl-devel
yum -y install openssl-devel
c.安装JDK
tar xf jdk1.8.0_144.tar.gz -C /opt/java
# 添加环境变量
vim /etc/profile
export JAVA_HOME=/opt/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
# 验证是否安装成功
source /etc/profile
java -version
d.安装maven
tar vf apache-maven-3.6.3 -C /opt
# 添加环境变量
vim /etc/profile
export MAVEN_HOME=/opt/apache-maven-3.6.3
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
# 验证是否安装成功
source /etc/profile
mvn -v
e.安装Ant
tar xf apache-ant-1.9.14.tar -C /opt
# 添加环境变量
vim /etc/profile
export ANT_HOME=/opt/apache-ant-1.9.14
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$SCALA_HOME/bin:$ANT_HOME/bin
# 验证是否安装成功
source /etc/profile
ant -v
f.安装FindBugs
tar xf findbugs-3.0.1.tar.gz -C /opt
# 添加环境变量
export FINDBUGS_HOME=/opt/findbugs-3.0.1
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$SCALA_HOME/bin:$ANT_HOME/bin:$FINDBUGS_HOME/bin
# 验证是否安装成功
source /etc/profile
findbugs -version
g.安装Cmake
tar xf cmake-2.8.12.tar.gz -C /opt
cd /opt/cmake-2.8.12
./bootstrap
# 编译并安装
gmake & gmake install
# 验证是否安装成功
cmake -version
9.安装Protobuf
tar xf protobuf-2.5.0.tar.gz -C /opt
cd /opt/protobuf-2.5.0
./configure
# 编译并安装
make & make install
# 验证是否安装成功
protoc --version
10.安装Snappy
tar xf snappy-1.1.3.tar.gz -C /opt
cd /opt/snappy-1.1.3
./configure
# 编译并安装
make & make install
# 查看snappy库文件
ls -lh /usr/local/lib |grep snappy
3.编译
a.解压hadoop源代码包
tar xf hadoop-2.7.7-src.tar.gz -C /root
b.修改maven仓库地址
默认的maven仓库地址下载速度可能比较慢,建议更换成阿里云的镜像。
扫描二维码关注公众号,回复:
11569778 查看本文章
vim /opt/apache-maven-3.6.3/conf/settings.xml
# 添加如下内容
<mirror>
<id>alimaven-central</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
c.编译
cd /root/hadoop-2.7.7-src
# 执行mvn构建
mvn clean package -Pdist,native -DskipTests -Dtar -Dsnappy.lib=/usr/local/lib -Dbundle.snappy -Drequire.openssl
如果中途编译失败,请重复执行这个命令,直到成功,一般第一次编译会比较费时间,耐心等待即可,编译成功如下所示。
[INFO] Reactor Summary for Apache Hadoop Main 2.7.7:
[INFO]
[INFO] Apache Hadoop Main ................................. SUCCESS [ 2.580 s]
[INFO] Apache Hadoop Build Tools .......................... SUCCESS [ 2.742 s]
[INFO] Apache Hadoop Project POM .......................... SUCCESS [ 1.169 s]
[INFO] Apache Hadoop Annotations .......................... SUCCESS [ 4.133 s]
[INFO] Apache Hadoop Assemblies ........................... SUCCESS [ 0.235 s]
[INFO] Apache Hadoop Project Dist POM ..................... SUCCESS [ 1.517 s]
[INFO] Apache Hadoop Maven Plugins ........................ SUCCESS [ 4.262 s]
[INFO] Apache Hadoop MiniKDC .............................. SUCCESS [ 9.381 s]
[INFO] Apache Hadoop Auth ................................. SUCCESS [ 9.368 s]
[INFO] Apache Hadoop Auth Examples ........................ SUCCESS [ 7.075 s]
[INFO] Apache Hadoop Common ............................... SUCCESS [01:49 min]
[INFO] Apache Hadoop NFS .................................. SUCCESS [ 6.323 s]
[INFO] Apache Hadoop KMS .................................. SUCCESS [ 13.510 s]
[INFO] Apache Hadoop Common Project ....................... SUCCESS [ 0.051 s]
[INFO] Apache Hadoop HDFS ................................. SUCCESS [03:24 min]
[INFO] Apache Hadoop HttpFS ............................... SUCCESS [ 26.098 s]
[INFO] Apache Hadoop HDFS BookKeeper Journal .............. SUCCESS [ 7.797 s]
[INFO] Apache Hadoop HDFS-NFS ............................. SUCCESS [ 5.095 s]
[INFO] Apache Hadoop HDFS Project ......................... SUCCESS [ 0.066 s]
[INFO] hadoop-yarn ........................................ SUCCESS [ 0.071 s]
[INFO] hadoop-yarn-api .................................... SUCCESS [ 58.989 s]
[INFO] hadoop-yarn-common ................................. SUCCESS [ 41.534 s]
[INFO] hadoop-yarn-server ................................. SUCCESS [ 0.055 s]
[INFO] hadoop-yarn-server-common .......................... SUCCESS [ 13.898 s]
[INFO] hadoop-yarn-server-nodemanager ..................... SUCCESS [ 21.515 s]
[INFO] hadoop-yarn-server-web-proxy ....................... SUCCESS [ 6.525 s]
[INFO] hadoop-yarn-server-applicationhistoryservice ....... SUCCESS [ 11.943 s]
[INFO] hadoop-yarn-server-resourcemanager ................. SUCCESS [ 24.899 s]
[INFO] hadoop-yarn-server-tests ........................... SUCCESS [ 5.860 s]
[INFO] hadoop-yarn-client ................................. SUCCESS [ 7.696 s]
[INFO] hadoop-yarn-server-sharedcachemanager .............. SUCCESS [ 4.544 s]
[INFO] hadoop-yarn-applications ........................... SUCCESS [ 0.048 s]
[INFO] hadoop-yarn-applications-distributedshell .......... SUCCESS [ 3.698 s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher ..... SUCCESS [ 2.490 s]
[INFO] hadoop-yarn-site ................................... SUCCESS [ 0.087 s]
[INFO] hadoop-yarn-registry ............................... SUCCESS [ 6.001 s]
[INFO] hadoop-yarn-project ................................ SUCCESS [ 5.188 s]
[INFO] hadoop-mapreduce-client ............................ SUCCESS [ 0.201 s]
[INFO] hadoop-mapreduce-client-core ....................... SUCCESS [ 26.501 s]
[INFO] hadoop-mapreduce-client-common ..................... SUCCESS [ 25.839 s]
[INFO] hadoop-mapreduce-client-shuffle .................... SUCCESS [ 4.671 s]
[INFO] hadoop-mapreduce-client-app ........................ SUCCESS [ 10.348 s]
[INFO] hadoop-mapreduce-client-hs ......................... SUCCESS [ 7.430 s]
[INFO] hadoop-mapreduce-client-jobclient .................. SUCCESS [ 9.064 s]
[INFO] hadoop-mapreduce-client-hs-plugins ................. SUCCESS [ 2.168 s]
[INFO] Apache Hadoop MapReduce Examples ................... SUCCESS [ 6.339 s]
[INFO] hadoop-mapreduce ................................... SUCCESS [ 3.526 s]
[INFO] Apache Hadoop MapReduce Streaming .................. SUCCESS [ 5.015 s]
[INFO] Apache Hadoop Distributed Copy ..................... SUCCESS [ 11.058 s]
[INFO] Apache Hadoop Archives ............................. SUCCESS [ 2.623 s]
[INFO] Apache Hadoop Rumen ................................ SUCCESS [ 6.978 s]
[INFO] Apache Hadoop Gridmix .............................. SUCCESS [ 5.183 s]
[INFO] Apache Hadoop Data Join ............................ SUCCESS [ 3.484 s]
[INFO] Apache Hadoop Ant Tasks ............................ SUCCESS [ 2.792 s]
[INFO] Apache Hadoop Extras ............................... SUCCESS [ 3.786 s]
[INFO] Apache Hadoop Pipes ................................ SUCCESS [ 13.354 s]
[INFO] Apache Hadoop OpenStack support .................... SUCCESS [ 6.699 s]
[INFO] Apache Hadoop Amazon Web Services support .......... SUCCESS [ 42.462 s]
[INFO] Apache Hadoop Azure support ........................ SUCCESS [ 5.376 s]
[INFO] Apache Hadoop Client ............................... SUCCESS [ 8.725 s]
[INFO] Apache Hadoop Mini-Cluster ......................... SUCCESS [ 0.610 s]
[INFO] Apache Hadoop Scheduler Load Simulator ............. SUCCESS [ 6.562 s]
[INFO] Apache Hadoop Tools Dist ........................... SUCCESS [ 10.250 s]
[INFO] Apache Hadoop Tools ................................ SUCCESS [ 0.042 s]
[INFO] Apache Hadoop Distribution ......................... SUCCESS [01:05 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15:28 min
[INFO] Finished at: 2020-05-19T10:35:05+08:00