hadoop源碼編譯
第一次編譯要求能夠訪問互聯網,Hadoop的編譯依賴非常多的東西,一定要保證機器可訪問互聯網,否則難逐一解決所有的編譯問題,但第一次之後的編譯則不用再下載了。
1. 安裝依賴
1) JDK
2) Maven 3.0或更新版本
3) ProtocolBuffer 2.5.0
4) CMake 2.6或更新版本
5) Findbugs 1.3.9,可選的
2.1.安裝ProtocolBuffer
1) cd /usr/local
2) tar xzf protobuf-2.5.0.tar.gz
3) cd protobuf-2.5.0
4) ./conigure --prefix=/usr/local/protobuf
5) make
6) make check
7) make install
2.2.安裝CMake
1) cd /usr/local
2) tar xzf cmake-2.8.12.2.tar.gz
3) cd cmake-2.8.12.2
4) ./bootstrap --prefix=/usr/local/cmake
5) make
6) make install
2.3.安裝Maven
1) cd /usr/local
2) tar xzf apache-maven-3.0.5-bin.tar.gz
3) ln -s apache-maven-3.0.5 maven
在安裝好之後,還需要設置一下環境變量,可以修改/etc/profile,也可以是修改~/.profile,
3. 編譯Hadoop源代碼
完成上述準備工作後,即可通過執行命令:
mvn package -Pdist -DskipTests -Dtar,啓動對Hadoop源代碼的編譯。
如果需要編譯成本地庫(Native Libraries)文件,則使用命令:
mvn package -Pdist,native -DskipTests -Dtar。如果C/C++程序需要訪問HDFS等,需要使用navite方式編譯生成相應的庫文件。也可以使用mvn package -Pnative -DskipTests -Dtar特意編譯出本地庫文件。
相關的編譯命令還有:
1) mvn package -Pdist -DskipTests -Dtar
2) mvn package -Pdist,native,docs,src-DskipTests -Dtar
3) mvn package -Psrc -DskipTests
4) mvn package -Pdist,native,docs-DskipTests -Dtar
5) mvn clean site; mvn site:stage -DstagingDirectory=/tmp/hadoop-site
編譯成功後,會生成Hadoop二進制安裝包hadoop-2.4.0.tar.gz,放在源代碼的hadoop-dist/target子目錄下: