說實話,本人編譯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 export CLASSPATH=.:$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-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)
地址鏈接: 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" export PATH=$PATH:$MAVEN_HOME /bin <br><br>先按Esc,
Shift+:, wq, 回車即可保存並推出編輯。<br>輸入 source /etc/profile 回車即可保存更改。<br><br>查看安裝狀態:
mvn -version |
看到
6.安裝ant
解壓縮並配置環境變量
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.如果總是出現同一個錯誤導致編譯失敗,則可能是缺少某個庫或者工具,檢查上述工具是否都安裝成功,並且版本正確。