1. 程式人生 > >Hadoop原始碼包的編譯

Hadoop原始碼包的編譯

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

 

到hadoop官網,點選source下載hadoop-2.7.3-src.tar.gz。

 

解壓之

 

tar -zxvf hadoop-2.7.3-src.tar.gz

 

得到hadoop-2.7.3-src資料夾。

 

進入hadoop-2.7.3-src資料夾,檢視BUILDING.txt

 

cd hadoop-2.7.3-src vim BUILDING.txt

 

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

 

 

包括:

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-7u102-linux-x64.tar.gz,解壓後移動到/opt目錄下

 

tar -zxvf jdk-7u102-linux-x64.tar.gz

 

mv jdk1.8.0_102/opt

 

然後開啟/etc/profile配置jdk環境變數

 

vim /etc/profile

 

按 i 進入插入模式,在檔案末尾新增

 

export JAVA_HOME=/opt/jdk1.8.0_102

 

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_102/jre

 

export 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)

 

protobuf-2.5.0.tar.gz下載地址:http://pan.baidu.com/s/1pJlZubT 

 

tar zxvf protobuf-2.5.0.tar.gz

 

進入protobuf-2.5.0依次執行

 

cd protobuf-2.5.0 進入目錄

# 指定安裝路徑
./configure --prefix=/usr/local/protobuf
#編譯
make
# 測試,這一步很耗時間
make check
make install
# refresh shared library cache.
ldconfig

#設定環境變數 /etc/profile

export PATH=$PATH:/usr/local/protobuf/bin

#檢視版本

protoc --version

5.安裝maven (注意,如果下載很慢或者經常失敗,建議更換maven的下載源,方法在另一篇部落格中有說明)

 

下載apache- maven- 3.3.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.3

 

export 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.4

 

export 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.1

 

export PATH=$PATH:$FINDBUGS_HOME/bin

 

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

 

檢視安裝結果

 

 

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

 

進入到hadoop-2.7.3-src目錄

 

vim hadoop-common-project/hadoop-auth/pom.xml

vim /hadoop-common-project/hadoop-common/pom.xml 

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-annotations</artifactId>
<scope>compile</scope>
</dependency>

將節點hadoop-annotations的值由provide 改成compile

 

使用命令:

 

mvn clean package –Pdist,native –DskipTests –Dtar

 

或者:

 

mvn package -Pdist,native -DskipTests -Dtar

 

進行編譯。  

 

務必保持網路暢通,經過漫長的等待(本人的比較慢,花了2小時57分鐘)!

 

編譯好的檔案在/hadoop-dist/target/hadoop-2.7.3.tar.gz下。

 

注意事項:

 

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

 

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

 

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