[hadoop系列]hadoop-gpl-compression的安裝和編譯
從Hadoop 0.20.X開始,由於lzo壓縮格式GPL形式授權的影響,lzo壓縮從hadoop釋出包中取消,轉而成為Google Code中的一個專案hadoop-gpl-compression 。本文介紹hadoop-gpl-compression的安裝和編譯。這裡之所以叫安裝和編譯,而不是編譯和安裝,是因為安裝並不一定需要編譯,安裝不成功才需要自己動手編譯。
測試環境:
作業系統:Ubuntu 8.04
Java: SUN JDK 1.6.0_16,假設已設定完環境變數$JAVA_HOME
Hadoop: hadoop-0.20.1,假設已正確安裝完畢,且安裝目錄是$HADOOP_HOME
安裝目標:hadoop-gpl-compression-0.1.0-rc0
一.hadoop-gpl-compression安裝步驟:
1.下載hadoop-gpl-compression-0.1.0-rc0.tar.gz
2.解壓下載的包
3.把hadoop-gpl-compression-0.1.0.jar挪到hadoop安裝目錄的lib子目錄下
5.刪除下載的hadoop-gpl-compression
至此安裝完成,enjoy your lzo compression!
但是往往安裝不會那麼一帆風順,有可能機器不帶有lzo解壓縮的庫,需要下載編譯lzo的本地類庫。
二.lzo類庫安裝步驟:
1.檢查gcc、g++等編譯工具已經安裝,沒有安裝則執行以下命令安裝:
2.下載lzo原始檔包
3.解壓下載的lzo包
4.安裝lzo包
注:這裡需要用超級使用者許可權編譯和安裝,否則編譯安裝將會失敗。
至此,lzo類庫編譯安裝完畢。
但是還會有少部分使用者發現還是用不了,或者希望自己進行編譯,那麼下面繼續:
三.hadoop-gpl-compression的編譯和安裝
0.假設hadoop-0.20.1已經安裝完畢,假設安裝目錄是$HADOOP_HOME,假設lzo類庫的安裝已經完成(具體步驟見上一段);
1.安裝必要的包,這一步列舉的一些包沒有經過完全驗證,但是在沒裝這些包之前一直無法編譯過去,在裝了之後便以正確,但沒有精確去考證是什麼包起的作用,這裡把所有包一併列出
2.下載hadoop-gpl-compression-0.1.0-rc0.tar.gz並解壓
3.如果沒有安裝ant,下載並安裝,安裝過的忽略本步驟
4.複製hadoop的類庫到hadoop-gpl-compression中
5.設定環境變數
若是32位系統,執行:
若是64位系統,執行:
6.執行ant進行編譯並打包
7.安裝hadoop-gpl-compression
8.刪除hadoop-gpl-compression目錄
如果下了ant且不想保留,也可以一併刪除:
至此,hadoop-gpl-compression已經編譯並安裝完畢
四.其他事項
1.如果伺服器訪問外網需要代理如何設定
執行如下命令:
其中username、password、host、port用具體值替換。當然如果密碼有不規則字元要小心,該轉義的要轉義。
2.如果ant編譯時需要代理則需要事先設定ANT_OPTS(這一條是網上查的,沒有經過驗證)
其中username、password、host、port用具體值替換。當然如果密碼有不規則字元要小心,該轉義的要轉義。
3.如果用的是NTLM的代理,會比較麻煩,ant將會無法通過代理,這時候需要在一個能直接訪問的區域網記憶體在一個maven庫。
3.1修改hadoop-gpl-compression-0.1.0/build.xml
找到行:
改為
3.2修改hadoop-gpl-compression-0.1.0/ivy/ivysettings.xml檔案
找到行:
改為:
其中maven_repo是本地maven庫的位置。