hadoop2.X、3.X編譯
阿新 • • 發佈:2019-02-14
一、編譯環境
每個hadoop版本需要的軟體版本不全同可自行根據BUILDING.txt自行調整,已經驗證下面列表能編譯hadoop2.X,3.X
- CentOS 6.7 x64
- java 1.8
- apache-ant-1.10.3
- apache-maven-3.5.3
- cmake-3.4.1
- findbugs-1.3.9
- protobuf-2.5.0
軟體安裝
java、maven、ant、cmake、findbugs解壓配置環境變數即可這裡不過多描述
安裝protobuf的前置軟體
yum -y install maven svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
在protobuf目錄依次執行如下命令
$ ./configure
$ make
$ make check
$ make install
安裝完成截圖,如果出錯查詢安裝相關依賴軟體後再嘗試
二、下載待編譯原始碼
三、編譯
這裡以hadoop-2.9.2為例進行編譯
在BUILDING.txt中找到如下位置
Building distributions: Create binary distribution without native code and without documentation: $ mvn package -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true Create binary distribution with native code and with documentation: $ mvn package -Pdist,native,docs -DskipTests -Dtar Create source distribution: $ mvn package -Psrc -DskipTests Create source and binary distributions with native code and documentation: $ mvn package -Pdist,native,docs,src -DskipTests -Dtar Create a local staging version of the website (in /tmp/hadoop-site) $ mvn clean site -Preleasedocs; mvn site:stage -DstagingDirectory=/tmp/hadoop-site
執行hadoop解壓目錄執行第一條命令
建立沒有本機程式碼和文件的二進位制檔案
mvn package -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true
漫長的等待~
四、編譯完成
編譯後文件路徑
hadoop-2.9.2-src/hadoop-dist/target
編譯過的版本
除2.9.2版本過大其餘版本已上傳csdn,不想編譯的可以直接下載使用
五、總結
- 檔案下載失敗
更換maven源
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <!--<url>http://nexus.corp.qunar.com/nexus/content/groups/public</url>--> <mirrorOf>central</mirrorOf> </mirror>
翻牆
- 編譯時間過長
mvn命令沒有設定-Dmaven.javadoc.skip=true
下載依賴過慢更換較好的網路 - 1,2步驟修改後編譯失敗
更改linux記憶體到2G以上
喜歡就點贊評論+關注吧
感謝閱讀,希望能幫助到大家,謝謝大家的支援!