Hadoop源代碼編譯

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倉庫地址下載速度可能比較慢,建議更換成阿里雲的鏡像。

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章