Hadoop介紹
Hadoop是Apache基金會(huì)下的項(xiàng)目,它能夠處理非常大的數(shù)據(jù)集在分布式計(jì)算環(huán)境,它可以運(yùn)行在三種模式下:
獨(dú)立式
Hadoop運(yùn)行所有的東西在無(wú)后臺(tái)的單獨(dú)的JVM中,這種模式適合在開(kāi)發(fā)階段測(cè)試與Debug MapReduce程序偽分布式
Hadoop做為后臺(tái)應(yīng)用運(yùn)行在本地機(jī)器,模擬小集群全分布式
Hadoop做為后臺(tái)應(yīng)用運(yùn)行真實(shí)的集群電腦中
Hadoop 安裝步驟
關(guān)于mac上安裝Hadoop偽分布式可以參考Mac OS X Yosemite安裝Hadoop 2.6記錄和如何在MacOSX上安裝Hadoop(how to install hadoop on mac os x)。在這些文章中基本的配置及其安裝方法都已經(jīng)寫(xiě)的比較清楚了,但是我在按照步驟安裝時(shí)仍然遇到了不少的坑,下面來(lái)做一些介紹。
軟件環(huán)境介紹
軟件環(huán)境:
* OS X Yosemite 10.10.5
* Java 1.6.0
使用brew
命令安裝的是Hadoop的最新版本,需要的java最低版本是1.7.0,所以第一個(gè)坑在于java的升級(jí)。
1、Java在mac下升級(jí)
mac下java的安裝有兩種方式。
下載java更新包在本地安裝
通過(guò)brew cask來(lái)安裝
1、使用安裝包安裝
mac中自帶的java版本號(hào)為1.6.0,link的路徑為/usr/bin
,系統(tǒng)默認(rèn)java安裝路徑為:
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
使用dmg包安裝后java的路徑為:
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
這兩個(gè)包并不沖突,在這種情況下Terminal中的java命令還是系統(tǒng)默認(rèn)的,需要對(duì)新安裝的做軟鏈。參考:MAC OSX安裝多個(gè)版本的JAVA(jdk jre通用)。
安裝Java
2、使用brew cask 安裝
$ brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup$ brew cask install java
$ brew cask install java
正常情況下執(zhí)行著兩個(gè)命令會(huì)安裝成功,但是brew update
會(huì)出現(xiàn)問(wèn)題。會(huì)出現(xiàn)The following untracked working tree files would be overwritten by merge
錯(cuò)誤,這時(shí)使用:
$ cd /usr/local
$ git fetch origin
$ git reset --hard origin/master
如果你沒(méi)有在管理員或sudo模式下,你也可以在第一個(gè)命令中chown
$ sudo chown -R whoami /usr/local
$ cd /usr/local
$ git reset --hard origin/master
3、測(cè)試是否安裝成功
$ java -version
如果版本信息返回的是java version "1.8.0_74"
式的安裝信息表明安裝成功。
2、ssh connection refuserd
生成ssh后,使用ssh localhost
來(lái)測(cè)試ssh
是否成功。給出提醒如下:
ssh: connect to host localhost port 22: Connection refused
這是因?yàn)閙ac電腦的共享配置未打開(kāi),在System preferences ->Sharing
中打開(kāi)如下配置:
此時(shí)在此使用ssh localhost
命令來(lái)測(cè)試返回Last login: Mon Mar 21 09:58:12 2016
,表明已經(jīng)成功。
3、啟動(dòng)Hadoop
從/usr/local/Cellar/hadoop/2.7.1/sbin
路徑進(jìn)入Hadoop的目錄執(zhí)行啟動(dòng)腳本:
./start-dfs.sh //啟動(dòng)HDFS
./stop-dfs.sh //停止HDFS
log如下:
Starting namenodes on [localhost]
localhost: starting namenode, logging to /usr/local/Cellar/hadoop/2.7.1/libexec/logs/hadoop-tony-namenode-tonys-MacBook-Pro-2.local.out
localhost: starting datanode, logging to /usr/local/Cellar/hadoop/2.7.1/libexec/logs/hadoop-tony-datanode-tonys-MacBook-Pro-2.local.out
Starting secondary namenodes [0.0.0.0]
在log中會(huì)顯示警告WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
d的提醒,是關(guān)于 Hadoop 本地庫(kù)的, Hadoop本地庫(kù)是為了提高效率或者某些不能用Java實(shí)現(xiàn)的功能組件庫(kù)。可以參考Mac OSX 下 Hadoop 使用本地庫(kù)提高效率來(lái)做處理。
此時(shí)在瀏覽器中打開(kāi)Resource Manager: http://localhost:50070
可以看到如下頁(yè)面
執(zhí)行如下啟動(dòng)腳本腳本:
./start-yarn.sh //啟動(dòng)yarn,一個(gè)MapReduce框架
./stop-yarn.sh //停止yarn
此時(shí)在瀏覽器中打開(kāi)JobTracker: http://localhost:8088
、Specific Node Information: http://localhost:8042
可以分別看到如下界面:
作者:木夜溯
鏈接:http://www.lxweimin.com/p/d19ce17234b7
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。</pre>