CentOS7編譯Hadoop-2.7.2詳解

先說明,32位Linux操做系統能夠直接下載編譯好的Hadoop使用,可是64位Linux操做系統須要本身編譯。html

後來官網從hadoop2.5版本開始就提供了64位。能夠直接下載使用。java

不過本身動手,豐衣足食,就當是學習了。下面開始:linux

1.工具準備,最靠譜的是hadoop說明文檔裏要求具有的那些工具。apache

hadoop官網,點擊source下載hadoop-2.7.2-src.tar.gz。vim

解壓之網絡

tar -zxvf hadoop-2.7.2-src.tar.gzmaven

獲得hadoop-2.7.2-src文件夾。svn

進入hadoop-2.7.2-src文件夾,查看BUILDING.txt工具

cd hadoop-2.7.1-src
vim BUILDING.txtoop

能夠看到編譯所需的庫或者工具:

包括:

  • JDK1.7+

  • maven 3.0 or later

  • findbugs 1.3.9

  • protocolBuffer 2.5.0

  • cmake 2.6

  • zlib-devel

  • openssl-devel

除了上面這些,爲了避免出錯,實際還須要autoconf  automake  gcc等。

下面開始準備這些工具:

首先使用su命令獲取root權限,以避免受到各類限制

2.下載jdk-8u65-linux-x64.tar.gz,解壓後移動到/opt目錄下

tar -zxvf jdk-8u65-linux-x64.tar.gz

mv jdk1.8.0_65 /opt

而後打開/etc/profile配置jdk環境變量

vim /etc/profile

按 i 進入插入模式,在文件末尾添加

export JAVA_HOME=/opt/jdk1.8.0_65

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

export JRE_HOME=/opt/jdk1.8.0_65/jre

export PATH=$PATH:$JRE_HOME/bin

前後按Esc, Shift+:, wq, 回車便可保存並退出編輯。

輸入 source /etc/profile 回車便可保存更改。

運行javac -version 查看狀態:

[root@server1 java]# javac -version
javac 1.8.0_65
[root@server1 java]#

3.下面安裝各類庫,

yum -y install svn ncurses-devel gcc*

yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

4.安裝protobuf-2.5.0.tar.gz(注意版本必須是2.5.0)

tar zxvf protobuf-2.5.0.tar.gz

進入protobuf-2.5.0依次執行

cd protobuf-2.5.0

./configure

make

make install

驗證安裝是否完成

protoc --version

出現

[root@server1 protobuf-2.5.0]# protoc --version
libprotoc 2.5.0
[root@server1 protobuf-2.5.0]#

5.安裝maven

下載apache-maven-3.3.9-bin.tar.gz

解壓縮並配置環境變量

解壓:

tar -zxvf apache-maven-3.3.9-bin.tar.gz

移動到/opt目錄下:

mv apache-maven-3.3.9 /opt

配置環境變量:

vim /etc/profile

在末尾添加:

export MAVEN_HOME=/opt/apache-maven-3.3.9

export MAVEN_OPTS="-Xms256m -Xmx512m"

export PATH=$PATH:$MAVEN_HOME/bin

先按Esc, Shift+:, wq, 回車便可保存並推出編輯。

輸入 source /etc/profile 回車便可保存更改。

查看安裝狀態: mvn -version

[root@server1 ~]# mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/maven-3.3.9
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_65/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix"
[root@server1 ~]#

6.安裝ant

下載apache-ant-1.9.7-bin.tar.gz

解壓縮並配置環境變量

解壓:

tar -zxvf apache-ant-1.9.7-bin.tar.gz

移動到/opt目錄下

mv apache-ant-1.9.7 /opt

配置環境變量

同上,在/etc/profile文件末未添加:

export ANT_HOME=/opt/apache-ant-1.9.7

export PATH=$PATH:$ANT_HOME/bin

而後保存,退出,並使更改生效。

查看安裝結果:

ant -version

[root@server1 ~]# ant -version
Apache Ant(TM) version 1.9.7 compiled on April 9 2016
[root@server1 ~]#

7.安裝findbugs

下載findbugs-3.0.1.tar.gz,選擇上面的standard version便可

解壓縮並配置環境變量

解壓:

tar -zxvf findbugs-3.0.1.tar.gz

移動到 /opt目錄下

mv findbugs-3.0.1 /opt

配置環境變量:

在 /etc/profile 文件末尾添加:

export FINDBUGS_HOME=/opt/findbugs-3.0.1

export PATH=$PATH:$FINDBUGS_HOME/bin

保存退出,並使更改生效。

查看安裝結果

[root@server1 ~]# findbugs -version
3.0.1
[root@server1 ~]#

8.準備完成,下面開始編譯hadoop

進入到hadoop-2.7.2-src目錄

使用命令:

mvn clean package –Pdist,native –DskipTests –Dtar

或者:

mvn package -Pdist,native -DskipTests -Dtar

進行編譯。  

務必保持網絡暢通,通過漫長的等待,看到下圖即代表編譯成功!

因爲本人的網絡中途出現問題,從新編譯了一次,差很少折騰了3個小時。

編譯好的文件在/hadoop-dist/target/hadoop-2.7.2.tar.gz下。

注意事項:

1.全部命令,建議手敲,不建議複製粘貼,以免由於頁面空格形成的沒必要要錯誤。

2.務必保持網絡暢通,若是出現缺乏某個文件,則要先清理maven(使用命令 mvn clean) 再從新編譯。

3.若是老是出現同一個錯誤致使編譯失敗,則多是缺乏某個庫或者工具,檢查上述工具是否都安裝成功,而且版本正確。

相關文章
相關標籤/搜索