Hadoop 源碼編譯 Centos 7 + hadoop-2.7.2 + jdk 8u144

一、 源碼編譯的目的:

1.  下載的源碼是 32 位的, 需要編譯成 64 位。

2.   爲Hadoop加入新的功能,比如新的壓縮算法(snappy),需要在安裝完snappy後,重新編譯源碼。

二、編譯準備: 

1.   確保CentOS能夠連接外網。

2.   切換到 root 用戶,採用root用戶編譯,減少文件夾權限出現的問題。

3.    jar 包準備:鏈接: https://pan.baidu.com/s/15W77IRZxooRtmVJN8C-ozw  提取碼: hado

(1)hadoop-2.7.2-src.tar.gz
(2)jdk-8u144-linux-x64.tar.gz
(3)apache-ant-1.9.9-bin.tar.gz
(4)apache-maven-3.0.5-bin.tar.gz
(5)protobuf-2.5.0.tar.gz

三、 jar 包安裝:

1.  JDK :

解壓:tar -zxvf jdk-8u144-linux-64.tar.gz 

配置環境變量(JAVA_HOME和PATH): 在/etc/profile.d路徑下創建java.sh文件

寫入:export JAVA_HOME=/opt/jdk1.8.0_144 
     export PATH=$PATH:${JAVA_HOME}/bin 

驗證:source /etc/profile # java -version

2.  maven:

解壓:tar -zxvf apache-maven-3.0.5-bin.tar.gz

配置環境變量:在/etc/profile.d路徑下創建maven.sh文件

寫入:export MAVEN_HOME=/opt/apache-maven-3.0.5
     export PATH=$PATH:${MAVEN_HOME}/bin

驗證:source /etc/profile
     mvn -version

  更換mirro:

vim ${MAVEN_HOME}/conf/settings.xml

  在文件的<mirrors> </mirrors>中添加

<mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>             
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

3.  ant:

解壓:tar -zxvf apache-ant-1.9.9-bin.tar.gz

配置環境變量:在/etc/profile.d路徑下創建ant.sh文件

寫入:export ANT_HOME=/opt/apache-ant-1.9.9
     export PATH=$PATH:${ANT_HOME}/bin

驗證:source /etc/profile
     ant -version

4.  protobuf:

安裝glibc-headers和g++:
yum install -y glibc-headers
yum install -y gcc-c++

安裝make和cmake:
yum install -y make
yum install -y cmake


依次運行:

tar -zxvf protobuf-2.5.0.tar.gz -C /opt
cd /opt/protobuf-2.5.0
./configure
make
make check
make install
ldconfig


配置環境變量:在/etc/profile.d路徑下創建protobuf.sh文件


寫入:export LD_LIBRARY_PATH=/opt/protobuf-2.5.0
     export PATH=$PATH:${LD_LIBRARY_PATH}


驗證:source /etc/profile
     protobuf --version

四、 編譯源碼:

 1.  編譯步驟:

解壓源碼:tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt

進入hadoop源碼主目錄:cd /opt/hadoop-2.7.2-src

通過maven執行編譯命令:mvn clean
                    mvn package -Pdist,native -DskipTests -Dtar

編譯的hadoop包的位置:/opt/hadoop-2.7.2-src/hadoop-dist/target

2.  編譯示例:可以看到編譯用時 22 分鐘

    

    之後在 hadoop-2.7.2-src/hadoop-dist/target 路徑下即可看到編譯好的 hadoop 包

    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章