今天有朋友在群里找hadoop最新的2.6.0的源代碼,其實這個源代碼在hadoop的官方網站是有下載的(應該是32位的),還有一個src,不過給的是maven版本,需要自己在機器上編譯一下(我的機器用的是64位的,所以要在上面進行開發,就要自己編譯成64位的).
如果你需要32位的,請直接去官方下吧:地址http://mirrors.cnnic.cn/apache/hadoop/common/stable2/
我自己編譯的64位也在360網盤分享給大家:http://yunpan.cn/cKuY7JX72bCaA 提取碼 e4c5
既然幫忙就是要幫到底.我直接告訴大家如何編譯,以后大家再發現有新的代碼發布,自己就編譯獲得了,豈不是更爽.
下面就告訴大家我編譯源代碼的步驟:
我假設大家已經安裝好了mvn,並且配置好了mvn的環境變量(我使用的maven版本:3.0.5)
1,在hadoop的官方下載源代碼:hadoop-2.6.0-src.tar.gz(注意,hadoop-2.6.0.tar.gz是開發包,不是源代碼,看文件大小是有區別的);
2,將hadoop-2.6.0-src.tar.gz(下面簡稱src) (1)傳到linux上面;(2)解壓.
上傳到linux我使用的軟件是:WinSCP;
linux我使用的64位CentOS-6.5-x86_64位;
解壓命令: tar -xzvf hadoop-2.6.0-src.tar.gz 解壓得到hadoop-2.6.0文件夾
3,在linux下操作如下命令(注意,必須保持linux的網絡是暢通的,搞不定虛擬機下linux網絡連接的,單獨找我,讓你快速解決,或者直接去搜博文,不然下面沒有辦法進行):
yum install glibc-headers
yum install gcc
yum install gcc-c++
yum install make
yum install cmake
yum install openssl-devel
yum install ncurses-devel
時間可能有點久,慢慢等着吧,第一次運行就是這樣
4,解壓和安裝protobuf-2.5.0.tar.gz
首先解壓該文件,並進入到該文件下,解壓命令:tar -xzvf protobuf-2.5.0
關於為什么要使用這個文件,是因為hadoop2對該文件包有依賴,所以必須先安裝上它,否則后面對hadoop的編譯有影響.關於protobuf的內容,另說.
解壓完成之后,進入到該文件夾下,直接運行以下命令
configur&&make&&make check && make install (這串命令是連接起來在一行里面執行的)
上面的命令運行完畢之后,運行maven命令
5,開始maven指令,開始編譯hadoop2
跳轉到第2步解壓好的hadoop文件夾里面
mvn package -DskipTests -Pdist,native
慢慢等着,這個過程會很久,..................................................................................................................................................................真的會很久
如果你看到命令行停止執行了,並且顯示success,恭喜你,請打開文件夾里面的hadoop-dist/target,里面的hadoop-2.6.0就是你編譯好的源代碼了.
自己親自動手操作一遍,即使是操作沒有成功,但是你會把知識點記憶的特別清楚,以后你在學習相關知識的時候會有所聯系,會助你更好的學習知識.
小馬哥祝大家學習順利.