簡介:Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。Hadoop的框架最核心的設(shè)計就是:HDFS和MapReduce斩祭。HDFS為海量的數(shù)據(jù)提供了存儲,則MapReduce為海量的數(shù)據(jù)提供了計算.本教程將指導(dǎo)如何用蘋果macOS系統(tǒng)安裝Hadoop。
1:安裝Homebrew
類似使用ubuntu系統(tǒng)apt-get的軟件安裝方式品追。macOS上也有類似這樣的包管理器,利用Homebrew即可鸦泳。 Homebrew的官方網(wǎng)站
安裝Homebrew的方法:
/usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"
ps:homebrew常用shell命
# 查看brew的幫助 brew -help
# 安裝軟件 brew install hadoop
# 卸載軟件 brew uninstall hadoop
# 搜索軟件 brew search hadoop
# 查看已經(jīng)安裝的軟件 brew list
# 更新軟件 brew update
# 更新某具體軟件?brew upgrade hadoop
ps:環(huán)境變量配置
修改profile文件
?nano ~/.bash_profile
添加如下內(nèi)容:
export HADOOP_HOME=/usr/local/Cellar/hadoop/3.0.0/libexecexport PATH=$PATH:$HADOOP_HOME/bin/export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Ho$export ANDROID_HOME=${HOME}/Library/Android/sdkexport PATH=${PATH}:${ANDROID_HOME}/toolsexport PATH=${PATH}:${ANDROID_HOME}/platform-toolsexport JAVA_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
#這行需要注意银锻,在筆者最開始這樣配置的時候報過錯,最后部分需要改為$HADOOP_INSTALL/lib/native做鹰,但后來測試的時候又不需要了击纬。所以如果讀者本遇到類似缺庫的問題,可以嘗試修改這個地方钾麸。?
export HADOOP_OPTS="-Djava.library.path=?HADOOP_INSTALL/lib/native?#HADOOP VARIABLES END?
順便在這里配置java路徑:
首先輸入代碼看看你把 Java 裝到哪里了 :
?/usr/libexec/java_home
輸入代碼: java -version
如果已經(jīng)裝了Java更振,你會看到類似醬紫結(jié)果:
java version "1.8.0_121"Java(TM) SE Runtime Environment (build 1.8.0_121-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
如果沒有 ,用 Homebrew 安裝了最新版本 Java:brew install java
2:ssh登錄本地
首先在系統(tǒng)里打開遠(yuǎn)程登錄饭尝,位置在 System Preference -> Sharing 中肯腕,左邊勾選 Remote Login,右邊選擇 All Users钥平。
系統(tǒng)偏好可用快捷鍵 command+space 中搜索 "System? ? ? Preference" 打開实撒。
1:首先生成ssh公鑰,終端命令代碼如下
ssh-keygen -t rsa -P ""
cat ?HOME/.ssh/authorized_keys
2:接下來進(jìn)行測試登錄本地是否成功涉瘾,在 Terminal 里輸入以下代碼查看能不能免密 ssh 到 localhost:
ssh localhost
3:登錄成功顯示結(jié)果如下:
3:安裝Hadoop
3.1 : 輸入以下代碼知态,自動安裝hadoop:
brew install hadoop
安裝過程會提示重要的信息,如下:
$JAVA_HOME has been set to be the output of:? /usr/libexec/java_home
在macOS中立叛,我們可以終端輸入:/usr/libexec/java_home來獲取JAVA_HOME的路徑 Hadoop的安裝需要配置JAVA_HOME肴甸,用 brew安裝,就已經(jīng)幫我們配置好了囚巴。
ps:通過Homebrew安裝軟件后原在,軟件目錄一般位于/usr/local/Cellar,并軟件目錄里面帶有版本號. 如圖我的hadoop安裝目錄如下:
4:測試Hadoop是否安裝成功
Hadoop有三種安裝模式:單機(jī)模式,偽分布式模式彤叉,分布式模式 分布式模式需要在多臺電腦上面測試庶柿,這里只測試?偽分布式模式
4.1:測試偽分布式模式
測試為分布模式前,需要修改相關(guān)的5個配置文件秽浇,把homebrew默認(rèn)的單機(jī)模式修改成偽分布式模式
可以使用nano或者vim進(jìn)行配置文件的修改浮庐,我這里使用sublime文本編輯器修改,方便省事兒柬焕。修改路徑如圖所示:
修改Core-site.xml(位置?etc/hadoop/)审残,改參數(shù)如下:
.修改mapred-site.xml? (位置?etc/hadoop/),改參數(shù)如下:
如果文件后綴是 .xml.example斑举,改為 .xml搅轿。
變量mapred.job.tracker 保存了JobTracker的位置,因?yàn)橹挥蠱apReduce組件需要知道這個位置富玷,所以它出現(xiàn)在mapred-site.xml文件中璧坟。
修改hdfs-site.xml(位置?etc/hadoop/)既穆,改參數(shù)如下:
變量dfs.replication指定了每個HDFS數(shù)據(jù)庫的復(fù)制次數(shù)。 通常為3, 由于我們只有一臺主機(jī)和一個偽分布式模式的DataNode雀鹃,將此值修改為1幻工。
修改yarn-site.xml(位置?etc/hadoop/),改參數(shù)如下:
修改hadoop-env.sh(位置?etc/hadoop/)黎茎,改參數(shù)如下:然后開啟hadoop-env.sh里的注釋
4.2:運(yùn)行hadoop以及查看遠(yuǎn)端
進(jìn)入文件夾(重要重要重要:后續(xù)所有操作一定要先進(jìn)入當(dāng)前hadoop文件夾)
?cd /usr/local/Cellar/hadoop/3.0.0
格式化文件系統(tǒng)(是對namenode進(jìn)行初始化):
?./bin/hdfs namenode -format?
啟動 NameNode 和 DataNode:
$ ./sbin/start-dfs.sh
如果遇到DataNode啟動失敗囊颅,嘗試刪除tmp文件夾。
關(guān)閉偽分布式
./sbin/stop-all.sh
ps:hadoop3.x版本的端口號改變?nèi)鐖D:
現(xiàn)在你應(yīng)該可以在瀏覽器中打開下面的鏈接看到親切的 Overview 界面了:
NameNode - http://localhost:9870
讓 HDFS 可以被用來執(zhí)行 MapReduce jobs:
$ ./bin/hdfs dfs -mkdir /user
$ ./bin/hdfs dfs -mkdir /user/input
把 改成你想要命名的任意子文件夾名字即可傅瞻,這里我選擇命名input.
啟動 ResourceManager 和 NodeManager:
$ ./sbin/start-yarn.sh
現(xiàn)在你應(yīng)該可以在瀏覽器中打開下面的鏈接看到親切的 All Applications 界面了:
ResourceManager - http://localhost:8088