1. 程式人生 > >hadoop2.X、3.X編譯

hadoop2.X、3.X編譯

一、編譯環境

每個hadoop版本需要的軟體版本不全同可自行根據BUILDING.txt自行調整,已經驗證下面列表能編譯hadoop2.X,3.X

  1. CentOS 6.7 x64
  2. java 1.8
  3. apache-ant-1.10.3
  4. apache-maven-3.5.3
  5. cmake-3.4.1
  6. findbugs-1.3.9
  7. 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,不想編譯的可以直接下載使用

五、總結

  1. 檔案下載失敗
    更換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>

翻牆

  1. 編譯時間過長
    mvn命令沒有設定-Dmaven.javadoc.skip=true
    下載依賴過慢更換較好的網路
  2. 1,2步驟修改後編譯失敗
    更改linux記憶體到2G以上

喜歡就點贊評論+關注吧

在這裡插入圖片描述

感謝閱讀,希望能幫助到大家,謝謝大家的支援!