文章目錄
千辛萬苦踩了居多坑之後把hadoop安裝好了,進行文件put ls 等一系列操作的時候竟然給我警告,就很煩。
如下圖
接下來較爲詳細的說明一下編譯hadoop源碼的基本流程
1.首先新建一個乾淨的虛擬機
- 本次以centos7爲基礎
2.查看編譯所需配件
(簡稱電腦配件 滑稽保命
從官網下載hadoop源碼包,傳入虛擬機進行解壓。
- 打開之後進入路徑查看building.txt文件
很容易看到
JDK1.8
maven3.3以上
protocolbuffer必須是2.5.0
cmake3.1以上
3.進入(配件)安裝步驟
首先yum一些可以默認安裝的東西
yum -y update
yum install -y glibc-headers gcc-c++ make automake autoconf libtool curl unzip subversion-devel openssl-devel
下面是需要手動安裝的
3.1JDK安裝
查看路徑配置profile
#java
export JAVA_HOME=/opt/java/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
階段性檢測 java -version
3.2 ant安裝
#ant
export ANT_HOME=/opt/ant/apache-ant-1.9.14
export PATH=$PATH:$ANT_HOME/bin
階段性檢測 ant -version
3.3maven 安裝
#maven
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
階段性檢測 mvn -version
3.4 findbugs
#findbugs
export FIND_HOME=/opt/findbugs/findbugs-3.0.1
export PATH=$PATH:$FIND_HOME/bin
階段性檢測findbugs -version
3.5 cmake安裝
- 解壓之後進入路徑下(進入目錄下就是類似/opt/findbugs/cmake-x.x.x這樣)
cd cmake-3.xx.x
- ./configure --prefix=/opt/cmake/cmake-3.xx.x
- 路徑寫自己的
- 下一步輸入make
- 最後輸入make install
配置profile
#cmake
export PATH=$PATH:/opt/cmake/cmake-3.16.5/bin
階段性檢測cmake -version
3.6 protobuf安裝
同樣是進入目錄下
- ./autogen.sh
- ./configure --prefix=[path]
- make
- make check
- make install
- ldconfig
配置profile
#PROTOBUF_PATH
export PROTOBUF_PATH=/opt/protobuf/protobuf-2.5.0
export PATH=$PATH:$PROTOBUF_PATH/bin
階段性檢測protoc -version
4 編譯hadoop源碼
需要先添加一些鏡像
路徑是這裏
/opt/maven/apache-maven-3.6.3/conf/settings.xml
把下面代碼放到mirrors標籤內部(注意不要放到註釋內部)
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
下面是hadoop源碼路徑下的pom.xml文件 刪除一些東西
進入目錄下
開始編譯
mvn clean package -Pdist,native -DskipTests -Dtar
等大概兩三個小時(本次是第二次所以說時間短)
如上圖就是成功啦
這裏存着編譯好的hadoop
傳到自己電腦上做備份以後直接用
完結!