本機(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)"
- 常見使用命令
brew更新: brew update
軟件安裝: brew install xxx
軟件卸載: brew uninstall xxx
軟件查找: brew search xxx
已安裝軟件列表: brew list
打開官網(wǎng)brew: brew home
顯示軟件信息: brew info
更詳細(xì)的brew介紹詳見brew官網(wǎng)
2,CMake的安裝
CMake是一個(gè)跨平臺(tái)的安裝(編譯)工具世落,可以用簡單的語句來描述所有平臺(tái)的安裝(編譯過程)辙浑。
安裝CMake
brew install cmake
3,Maven的安裝
Maven主要用于程序構(gòu)建,并且還提供項(xiàng)目管理的功能
brew install maven
4,protoc的安裝
protocolbuffer(以下簡稱PB)是google 的一種數(shù)據(jù)交換的格式场斑,它獨(dú)立于語言,獨(dú)立于平臺(tái)
詳細(xì)介紹參見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安裝見protoc源碼根目錄的INSTALL.txt文件
二,編譯
mvn package -Pdist,native -DskipTests -Dtar
- 初次編譯時(shí)間可能會(huì)比較長一些,因?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來運(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下)
接下來重新啟動(dòng)hadoop即可