Mac環(huán)境下Hadoop2.7.3源碼編譯

本機(jī)環(huán)境

系統(tǒng)版本: macOS Sierra 10.12.2
JDK版本: java version "1.8.0_121"
Hadoop源碼: Hadoop-2.7.3

一,編譯前所需軟件

1,Homebrew

Homebrew是Mac OSX上的軟件包管理工具,能在Mac中方便的安裝軟件或者卸載軟件.

  • 安裝:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 常見(jiàn)使用命令
brew更新: brew update
軟件安裝:  brew install xxx
軟件卸載:  brew uninstall xxx
軟件查找:  brew search xxx
已安裝軟件列表:  brew list
打開官網(wǎng)brew:  brew home
顯示軟件信息:  brew info

更詳細(xì)的brew介紹詳見(jiàn)brew官網(wǎng)

2,CMake的安裝

CMake是一個(gè)跨平臺(tái)的安裝(編譯)工具,可以用簡(jiǎn)單的語(yǔ)句來(lái)描述所有平臺(tái)的安裝(編譯過(guò)程)。

安裝CMake

brew install cmake
3,Maven的安裝

Maven主要用于程序構(gòu)建,并且還提供項(xiàng)目管理的功能

brew install maven
4,protoc的安裝
  • protocolbuffer(以下簡(jiǎn)稱PB)是google 的一種數(shù)據(jù)交換的格式,它獨(dú)立于語(yǔ)言,獨(dú)立于平臺(tái)
    詳細(xì)介紹參見(jiàn)protoc掃盲
    protoc開發(fā)者指南

  • protoc安裝
    1)首先下載protoc,為了順利編譯推薦protoc2.5.0
    protoc2.5.0下載地址

2)設(shè)置編譯目錄

./configure

3)編譯整個(gè)包

make

4)安裝protoc

make install

5)配置protoc的環(huán)境變量

vim  ~/.bash_profile
添加
export PROTOC_HOME=/Users/zhaolei/protobuf
export PATH=$PROTOC_HOME/bin:$PATH

最詳細(xì)的protoc安裝見(jiàn)protoc源碼根目錄的INSTALL.txt文件

二,編譯

mvn package -Pdist,native -DskipTests -Dtar
  • 初次編譯時(shí)間可能會(huì)比較長(zhǎng)一些,因?yàn)樾枰螺d一些依賴包
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:04 h
[INFO] Finished at: 2017-03-04T12:12:38+08:00
[INFO] Final Memory: 244M/1613M
[INFO] ------------------------------------------------------------------------
  • 再次編譯的話時(shí)間就會(huì)縮短很多,因?yàn)橐蕾嚢呀?jīng)下載完畢了
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] -------------------------------------------------------------------
[INFO] Total time: 10:47 min
[INFO] Finished at: 2017-03-13T22:12:47+08:00
[INFO] Final Memory: 237M/1614M
[INFO] --------------------------------------------------------------------

三,編譯后的使用

源碼編譯后我們使用編譯后的jar來(lái)運(yùn)行Hadoop
例如,如果我們修改了hadoop-hdfs-project工程的代碼的話
Hadoop-2.7.3-src/hadoop-hdfs-project/hadoop-hdfs/target下找到文件hadoop-hdfs-2.7.3.jar
這就是我們剛生成的jar包,我們將hadoop程序中的hadoop-hdfs-2.7.3.jar替換成該文件(在目錄hadoop-2.7.3/share/hadoop/hdfs下)
接下來(lái)重新啟動(dòng)hadoop即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容