linux 編譯hadoop 源碼

由於官方提供的hadoop下載包是32位的,因此64要本身手動編譯shell

安裝jdk(1.7+),maven(3.0 or later) 的教程就掠過了。hadoop編譯要求很好,因此要遵循官方文檔裏說的版本
apache

安裝findbugs

版本:1.3.9vim

下載地址:https://sourceforge.net/projects/findbugs/files/findbugs/1.3.9/findbugs-1.3.9.tar.gz/downloadapi

vim /etc/profile  
export FINDBUGS_HOME=/usr/local/findbugs-1.3.9 
export PATH=$PATH:$FINDBUGS_HOME/bin  
source /etc/profile

安裝protobuf

 版本:2.5.0maven

下載地址:(官方已不提供下載) http://pan.baidu.com/s/1hrbQbRYoop

tar zxvf protobuf-2.5.0.tar.gz  
cd protobuf-2.5.0  
./configure
make && make install 
protoc --version

若是成功,則會輸出版本號信息,例如:libprotoc 2.5.0
ui

若是有問題,則會輸出錯誤內容。spa

遇到的問題:.net

protoc: error while loading shared libraries: libprotoc.so.8: cannot open sharedcode

錯誤緣由:
protobuf的默認安裝路徑是/usr/local/lib,而/usr/local/lib 不在Ubuntu體系默認的 LD_LIBRARY_PATH 裏,因此就找不到該lib
解決方法:

  1. 建立文件 /etc/ld.so.conf.d/libprotobuf.conf 包含內容:

/usr/local/lib

2. 輸入命令

sudo ldconfig

這時,再運行protoc --version 就能夠正常看到版本號了。

安裝CMake

版本:2.6 or newe

我是直接軟件源安裝的:apt-get install cmake

有教程說這部能夠不安裝,可是我編譯的時候報錯找不到依賴,或許你能夠試試。

編譯hadoop源碼

版本:2.7.2

下載地址:http://apache.fayea.com/hadoop/common/hadoop-2.7.2/

tar zxvf hadoop-2.7.2-src.tar.gz  
cd hadoop-2.7.2-src  
mvn package -Pdist,native -DskipTests -Dtar

若是須要安裝api:

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

編譯花費了半個小時,若是你的網速很慢還要更長。

後面還遇到了一些問題,沒有安裝依賴:

sudo apt-get install libglib2.0-dev 
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install zlib1g-dev
相關文章
相關標籤/搜索