說實話,本人編譯hadoop的過程比較曲折,但收獲也很多,下面系統介紹一下CentOS7下編譯hadoop-2.7.1的全過程吧。
先說明,32位linux操作系統可以直接下載編譯好的hadoop使用,但是64位Linux操作系統需要自己編譯。
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
cd hadoop-2.7.1-srcvim BUILDING.txt
可以看到編譯所需的庫或者工具:

包括:
JDK1.7+maven 3.0 or laterfindbugs 1.3.9PRotocolBuffer 2.5.0cmake 2.6zlib-developenssl-devel
除了上面這些,為了不出錯,實際還需要autoconf automake gcc等。
下面開始準備這些工具:
首先使用su命令獲取root權限,以免受到各種限制
2.下載jdk-7u79-linux-x64.tar.gz,解壓后移動到/opt目錄下
tar -zxvf jdk-7u79-linux-x64.tar.gzmv jdk1.7.0_79 /opt
然后打開/etc/profile配置jdk環境變量
vim /etc/profile按 i 進入插入模式,在文件末尾添加export java_HOME=/opt/jdk1.7.0_79export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/binexport JRE_HOME=/opt/jdk1.7.0_79/jreexport PATH=$PATH:$JRE_HOME/bin
先后按Esc, Shift+:, wq, 回車即可保存并退出編輯。
輸入 source /etc/profile 回車即可保存更改。
運行javac -version 查看狀態:

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)
地址鏈接: http://pan.baidu.com/s/1eQDE7TK 密碼: r9s2
tar zxvf protobuf-2.5.0.tar.gz
進入protobuf-2.5.0依次執行
cd protobuf-2.5.0./configuremakemake install
驗證安裝是否完成
protoc --version
出現

5.安裝maven
下載apache- maven- 3.2.3- bin.tar.gz
解壓縮并配置環境變量
解壓: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.3export MAVEN_OPTS="-Xms256m -Xmx512m"export PATH=$PATH:$MAVEN_HOME/bin
先按Esc, Shift+:, wq, 回車即可保存并推出編輯。
輸入 source /etc/profile 回車即可保存更改。
查看安裝狀態: mvn -version
看到

6.安裝ant
下載apache-ant-1.9.4-bin.tar.gz
解壓縮并配置環境變量
解壓:tar -zxvf apache-ant-1.9.4-bin.tar.gz移動到/opt目錄下mv apache-ant-1.9.4 /opt配置環境變量同上,在/etc/profile文件末未添加:export ANT_HOME=/opt/apache-ant-1.9.4export PATH=$PATH:$ANT_HOME/bin然后保存,退出,并使更改生效。查看安裝結果:ant -version

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.1export PATH=$PATH:$FINDBUGS_HOME/bin保存退出,并使更改生效。查看安裝結果

8.準備完成,下面開始編譯hadoop
進入到hadoop-2.7.1-src目錄
使用命令:mvn clean package –Pdist,native –DskipTests –Dtar 或者:mvn package -Pdist,native -DskipTests -Dtar
進行編譯?! ?/p>
務必保持網絡暢通,經過漫長的等待(本人的比較慢,花了2小時57分鐘)看到下圖即表明編譯成功!

編譯好的文件在/hadoop-dist/target/hadoop-2.7.1.tar.gz下。
注意事項:
1.所有命令,建議手敲,不建議復制粘貼,以避免因為頁面空格造成的不必要錯誤。
2.務必保持網絡暢通,如果出現缺少某個文件,則要先清理maven(使用命令 mvn clean) 再重新編譯。
3.如果總是出現同一個錯誤導致編譯失敗,則可能是缺少某個庫或者工具,檢查上述工具是否都安裝成功,并且版本正確。
新聞熱點
疑難解答