native.下載地址:http://dl.bintray.com/sequenceiq/sequenceiq-bin/。請下載好對應版本的.tar包
然而這些native還停留在2.x版本。無奈只能自己動手
1.環境准備
系統:
[root@devopes ~]# uname -r 3.10.0-1127.19.1.el7.x86_64
JDK:(務必一致,因為在編譯過程中因為jdk1.8的版本更換過2次)
[root@devopes ~]# java -version java version "1.8.0_211" Java(TM) SE Runtime Environment (build 1.8.0_211-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
鏈接:https://pan.baidu.com/s/11XEKRWVbUy95CpNgg-xT9Q
提取碼:prq7
Maven:(務必一致,因為在編譯過程中因為maven3系列版本更換過3次)
[root@devopes ~]# mvn -v Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00) Maven home: /usr/local/apache-maven-3.5.4 Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_211/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-1127.19.1.el7.x86_64", arch: "amd64", family: "unix"
鏈接:https://pan.baidu.com/s/1hhMkeyBm3EWKg3dPL9k9kQ
提取碼:maqj
cmake:(3.13.5)
[root@devopes ~]# cmake --version cmake version 3.13.5
鏈接:https://pan.baidu.com/s/1R6nmLbFnGnLg8yJ9KOtyLA
提取碼:c99c
ProtocolBuffer:(2.5.0)
[root@devopes ~]# protoc --version libprotoc 2.5.0
鏈接:https://pan.baidu.com/s/1y1eCZrPYW0Xhm8KsLXX4xw
提取碼:pukb
ant:(1.10.8)
[root@devopes ~]# ant -version Apache Ant(TM) version 1.10.8 compiled on May 10 2020
鏈接:https://pan.baidu.com/s/1QqzG43T6FuZy_UiapmiI5A
提取碼:8fpt
findbugs:(3.0.1)
[root@devopes ~]# /usr/local/findbugs/bin/findbugs -version 3.0.1
鏈接:https://pan.baidu.com/s/1gi22opzeDxzr5A4YhR5BsA
提取碼:dlkd
hadoop源碼:(3.1.4)
鏈接:https://pan.baidu.com/s/1lW5IDTh5H-5m5fy5p7WLWw
提取碼:sg72
2.軟件安裝
所有軟件上傳解壓到自己的軟件安裝目錄(我的在/usr/local)
[root@devopes local]# ll drwxr-xr-x 6 root root 235 5月 10 22:33 apache-ant-1.10.8 drwxr-xr-x 6 root root 99 6月 17 2018 apache-maven-3.5.4 drwxr-xr-x 15 root root 4096 9月 11 10:22 cmake-3.13.5 drwxr-xr-x 8 root root 104 3月 6 2015 findbugs drwxr-xr-x 7 root root 245 9月 11 16:38 jdk1.8.0_211 drwxr-xr-x 5 root root 43 9月 11 10:26 protobuf
1.jdk
tar xf jdk-8u211-linux-x64.tar.gz echo "export JAVA_HOME=/usr/local/jdk1.8.0_211" >>/etc/profile echo "export PATH=$JAVA_HOME/bin:$PATH" >>/etc/profile source /etc/profile
安裝完成后輸出版本號正常則安裝成功
2.maven
unzip apache-maven-3.5.4-bin.zip echo "export MAVEN_HOME=/usr/local/apache-maven-3.5.4" >>/etc/profile echo "export "PATH=$MAVEN_HOME/bin:$PATH" >>/etc/profile
source /etc/profile
修改配置文件settings.xml
[root@devopes local]# vim /usr/local/apache-maven-3.5.4/conf/settings.xml
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository> #默認在當前用戶家目錄下的.m2下
-->
<localRepository>/home/.m2/repository</localRepository> #自己配置本地倉庫路徑(可以設置在空間較為大的分區)
#配置鏡像地址,由於編譯要下載很多依賴包,官方的倉庫在國外下載速度較慢,可以配置國內地址,但是國內鏡像更新速度又較慢有些包的版本跟不上 還是要配些其他的鏡像地址
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>nexus-aliyun-apache</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun apache</name>
<url>http://maven.aliyun.com/nexus/content/repositories/apache-snapshots/</url>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots,!mapr-releases</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>mapr-public</id>
<mirrorOf>mapr-releases</mirrorOf>
<name>mapr-releases</name>
<url>https://maven.aliyun.com/repository/mapr-public</url>
</mirror>
<mirror>
<id>repo2</id>
<name>Mirror from Maven Repo2</name>
<url>http://repo2.maven.org/maven2/</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>
<mirror>
<id>ui</id>
<name>Mirror from UK</name>
<url>http://uk.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- junit鏡像地址 -->
<mirror>
<id>junit</id>
<name>junit Address/</name>
<url>http://jcenter.bintray.com/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>ibiblio</id>
<name>Mirror from Maven ibiblio</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
安裝完成后輸出版本號正常則安裝成功
3.ant
tar xf apache-ant-1.10.8-bin.tar.gz echo "export ANT_HOME=/usr/local/apache-ant-1.10.8" /etc/profile echo "export PATH=$ANT_HOME/bin:$PATH" /etc/profile source /etc/profile
安裝完成后輸出版本號正常則安裝成功
4.cmake
rpm -qa|grep "cmake" #檢查機器上是否已經有cmake 如果存在已安裝的cmake執行以下命令卸載
rpm -e +軟件包名字(通過第一步獲取完完整包名)或者強制卸載 rpm -e --nodeps +軟件包 tar xf cmake-3.13.5.tar.gz cd cmake-3.13.5 ./configure make && make insatll 編譯完成可以執行下echo $?如果為0則成功不為0則失敗
完成編譯后輸出版本號正常則安裝成功
5.ProtocolBuffer
tar xf protobuf-2.5.0.tar.gz cd protobuf-2.5.0 ./configure --prefix=/usr/local/protobuf #可以指定編譯到某個文件 也可以不加這個直接在當前目錄生成編譯文件 如果指定了該路徑編譯完成后刪除當前目錄 軟件已在另一個目錄生成 make && make install #同上可以檢測是否編譯成功 echo "export PROTOC_HOME=/usr/local/protobuf >>/etc/profile echo "export PATH=$PROTOC_HOME/bin:$PATH" >>/ect/profile
完成編譯后輸出版本號正常則安裝成功
6.findbugs
unzip findbugs-3.0.1.zip echo "export FINDBUGS_HOME=/usr/local/findbugs" >>/etc/profile echo "export PATH=$FINDBUGS_HOME/bin:$PATH" >>/ect/profile source /etc/profile
安裝完成后輸出版本號正常則安裝成功
3.編譯hadoop
[root@devopes work]# tar xf hadoop-3.1.4-src.tar.gz [root@devopes work]# cd hadoop-3.1.4-src/ [root@devopes hadoop-3.1.4-src]# mvn clean package -DskipTests -Pdist,native -Dtar .................................
編譯過程中如果中斷了大多數情況下是國外包下載延遲問題,可以選擇在網速較好的情況下執行,博主白天下午編譯三小時才跑了10來個包,早上來半小時編譯完成。以下圖片證明



最終產物:

鏈接:https://pan.baidu.com/s/1OFZp0AOg92-Fxyg5xJRaZw
提取碼:7mxv
