使用Maven編譯hadoop-2.5.0-src,多次嘗試之後終於成功了,大多數情況是因爲jar下載的問題,只要多試幾次就ok了,但是hadoop源碼的編譯需要protocbuf-2.5.0,這個需要手動安裝一下:
- 安裝linux公共包:
yum -y install svn ncurses-devel gcc*
yum -y install lzo-devel zlib-devel autoconf automak libtool cmake openssl–devel
- 安裝protobuf:protobuf-2.5.0.tar
"protobuf默認安裝在 /usr/local 目錄
你可以修改安裝目錄通過 ./configure --prefix=命令
雖然我是root用戶但覺得默認安裝過於分散,所以統一安裝在/usr/local/protobuf下
$./configure --prefix=/usr/local/protobuf
$ make
$ make check
$ make install
到此步還沒有安裝完畢,在/etc/profile 或者用戶目錄 ~/.bash_profile
添加下面內容
####### add protobuf lib path ########
#(動態庫搜索路徑) 程序加載運行期間查找動態鏈接庫時指定除了系統默認路徑之外的其他路徑
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(靜態庫搜索路徑) 程序編譯期間查找動態鏈接庫時指定查找共享庫的路徑
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#執行程序搜索路徑
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序頭文件搜索路徑
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序頭文件搜索路徑
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路徑
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
######################################
- 檢查安裝是否成功:protoc --version