Hadoop-3.1.4編譯安裝


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM