hadoop預設是編譯的*nux版本的, 但是不支援mac os x系統。 主要問題是動態連結庫的問題。 當啟動datanode時候會報告找不到libhadoop庫
這裡就不重複踩過的坑了。 直接是正常的安裝步驟。 另外,為了減少麻煩可以直接安裝高版本的hadoop,因為我之前使用的是2。5。2,所以就編譯一個2。5。2的版本了。
如果需要直接編譯好的動態連結庫, 可以留下郵箱。
準備程式碼:
下載hadoop
2.5.2
原始碼 可以直接下載source或者直接從git倉庫拉程式碼。
下載protoc
2.5.0
版本的原始碼進行編譯
下載
jdk1.7
,提示不能是1。8版本,雖然現在已經到了1。9回退到1。7版本只為了編譯一個dylib庫而已。
準備工作做好了就開始編譯了:
1。 首先,編譯protoc 2。5。0, 直接從程式碼庫拉下來的程式碼是沒有configure檔案的, 需要自行透過autoconf安裝, 如果autoconf沒安裝請先安裝。 不要問為什麼, 必須這樣執行,否則會報告很多錯誤。
autoreconf -vif
configure
make
make install
提示
:如果提前安裝了高版本的比如:3。5的 請先解除安裝 或者 指定一個新的安裝路徑更改path使用2。5版本
2。安裝一些必要的編譯軟體: 因為我本地是比較新的mac os x所以只安裝了一個
brew install cmake
3。 編譯hadoop的原始碼
mvn package -Pdist,native -Dskiptests -Dtar -Dmaven。test。skip=true
4。 將編譯後的動態庫複製到hadoop的native下面去
cp
hadoop-common-project/hadoop-common/target/native/target/usr/local/lib/*
hadoop-2。5。2/lib/native
5。 重新啟動datanode, OK了