1. 程式人生 > >Hadoop-CDH源碼編譯

Hadoop-CDH源碼編譯

archive origin build nsh nta ner amp files http

* Hadoop-CDH源碼編譯

這一節我們主要講解一下根據CDH源碼包手動編譯的過程,至於為什麽要使用CDH,前幾節已經說明,那為什麽又要自己手動編譯,因為CDH的5.3.6對應的Hadoop2.5.0沒有native動態庫,很多壓縮功能無法使用。

* 首先源碼包下載:

http://archive.cloudera.com/cdh5/cdh/5/

找到對應的 :hadoop-2.5.0-cdh5.3.6-src.tar.gz開始下載即可。

* 下載完成後解壓該軟件包,註意目錄權限問題

解壓後,我的目錄結構如圖:

技術分享圖片

* 查看BUILDING.txt文件,重要內容如下:

技術分享圖片

註意:該部分描述的內容是編譯這個版本的CDH所需的環境

編譯環境所需軟件打包下載傳送門:

鏈接:http://pan.baidu.com/s/1jI1bHPG 密碼:i8z8

* Findebugs安裝:

$ unzip -o -d /opt/modules/ /opt/softwares/findbugs-1.3.9.zip

* ProtocolBuffer 2.5.0安裝

$ ./configure --prefix=/opt/modules/protobuf-2.5.0

$ make && make install

如果,在執行以上命令時,如果出現編譯錯誤,可能編譯工具補全導致的,請安裝:

# yum install gcc

# yum install gcc-c++

# yum install cmake

* 安裝snappy

先下載:

https://github.com/electrum/hadoop-snappy

指定的一個安裝目錄,默認是根目錄:

./configure --prefix=/opt/modules/snappy

make && make install

mvn package -Dsnappy.prefix=/opt/modules/snappy

* 最後兩個依賴:

# yum -y install zlib-devel

# yum -y install openssl

最後我的環境變量配置如圖:

技術分享圖片 註意,JDK我臨時用了1.7的,因為1.8的編譯會出現錯誤

* 編譯

Maven的setttings.xml中的mirror配置:

技術分享圖片

使用命令進行編譯:

$ mvn package -Pdist,native,docs -DskipTests -Dtar

在編譯過程中可能出現種種錯誤,比如tomcat依賴包下載不下來,或者各種依賴包下載不下來,可以自行下載報錯的依賴然後放置到指定目錄,以及刪除報錯對應目錄下的x.lastUpdated文件。祝你好運:)(我從沒遇見過1次就編譯成功的)

最後,想省勁,或者在使用本教程的過程中想直接解決找不到native錯誤問題的,直接下載編譯好的即可,註意最後要放在Hadoop的對應目錄下:

鏈接:http://pan.baidu.com/s/1dEDgZBj 密碼:x27z


個人微博:http://weibo.com/seal13

QQ大數據技術交流群(廣告勿入):476966007



作者:Z盡際
鏈接:https://www.jianshu.com/p/a300bceb1caf
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

Hadoop-CDH源碼編譯