CentOS7下用jdk1.8編譯hadoop-2.7.1全過程詳解

說實話,本人編譯hadoop的過程比較曲折,但收穫也很多,下面系統介紹一下CentOS7下編譯hadoop-2.7.1的全過程吧。

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

到官網http://hadoop.apache.org/releases.html,點擊source下載hadoop-2.7.1-src.tar.gz。

解壓之

tar -zxvf hadoop-2.7.1-src.tar.gz

得到hadoop-2.7.1-src文件夾。

進入hadoop-2.7.1-src文件夾,查看BUILDING.txt

1
2
cd hadoop-2.7.1-src
vim BUILDING.txt

可以看到編譯所需的庫或者工具:

 

包括:

1
2
3
4
5
6
7
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-7u79-linux-x64.tar.gz,解壓後移動到/opt目錄下

1
2
tar -zxvf jdk-7u79-linux-x64.tar.gz
mv jdk1.7.0_79 /opt

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

1
2
3
4
5
6
7
8
vim /etc/profile
 
按 i 進入插入模式,在文件末尾添加
export JAVA_HOME=/opt/jdk1.7.0_79
exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=/opt/jdk1.7.0_79/jre
export PATH=$PATH:$JRE_HOME/bin<br>先後按Esc, Shift+:, wq, 回車即可保存並退出編輯。<br>輸入 source/etc/profile 回車即可保存更改。

運行javac -version 查看狀態:

3.下面安裝各種庫,

1
2
yum -y install svn ncurses-develgcc*
yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

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

地址鏈接: http://pan.baidu.com/s/1eQDE7TK 密碼: r9s2

1
tar zxvf protobuf-2.5.0.tar.gz

進入protobuf-2.5.0依次執行

1
2
3
4
cd protobuf-2.5.0
./configure
make
make install

驗證安裝是否完成

1
protoc --version

出現

5.安裝maven

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

解壓縮並配置環境變量

1
2
3
4
5
6
7
8
9
10
解壓:
tar -zxvf apache-maven-3.3.3-bin.tar.gz
移動到/opt目錄下:
mv apache-maven-3.3.3 /opt
配置環境變量:
vim /etc/profile
在末尾添加:
export MAVEN_HOME=/opt/apache-maven-3.3.3
export MAVEN_OPTS="-Xms256m -Xmx512m"
exportPATH=$PATH:$MAVEN_HOME/bin<br><br>先按Esc, Shift+:, wq, 回車即可保存並推出編輯。<br>輸入 source /etc/profile回車即可保存更改。<br><br>查看安裝狀態: mvn -version

看到

6.安裝ant

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

解壓縮並配置環境變量

1
2
3
4
5
6
7
8
9
10
11
解壓:
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

7.安裝findbugs

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

解壓縮並配置環境變量

1
2
3
4
5
6
7
8
9
10
解壓:
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
保存退出,並使更改生效。
查看安裝結果

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

進入到hadoop-2.7.1-src目錄

生成docs

mvn package -DskipTests -Pdist,native,docs -Dtar
不生成docs
mvn package -Pdist,native -DskipTests -Dtar

1
2
3
4
使用命令:
mvn clean package –Pdist,native –DskipTests –Dtar
或者:
mvn package -Pdist,native -DskipTests -Dtar

進行編譯。  

務必保持網絡暢通,經過漫長的等待(本人的比較慢,花了2小時57分鐘)看到下圖即表明編譯成功!

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

注意事項:

1.所有命令,建議手敲,不建議複製粘貼,以避免因爲頁面空格造成的不必要錯誤。

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

3.如果總是出現同一個錯誤導致編譯失敗,則可能是缺少某個庫或者工具,檢查上述工具是否都安裝成功,並且版本正確。


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