OS X Yosemite下安裝Hadoop2.5.1僞分佈式環境

  最近開始學習Hadoop,一直使用的是公司配好的環境。用了一段時間後發現對Hadoop仍是隻知其一;不知其二,故決定動手在本機上安裝一個供學習研究使用。正好本身用的是mac,因此沒啥說的,直接安裝。html

整體流程  

1.安裝jdk並配置好環境變量。由於Hadoop是使用java開發的,因此JDK是必須的。java

2.實現ssh無密碼驗證配置 能夠用ssh無需登錄鏈接到localhost。Hadoop並不要求必定要ssh無密碼登陸,主要是考慮到集羣環境中機器數目多,一個一個輸入密碼浪費時間並且麻煩,不方便管理。node

3.安裝與配置Hadoopmacos

4.格式化與啓動apache

5.驗證是否啓動瀏覽器

環境安全

  因爲mac 10.10系統中已去掉JDK,因此須要手動安裝。官網下載:http://www.oracle.com/technetwork/java/javase/downloads/index.html。我下在的是JDK最新版,安裝過程就很少說了,雙擊運行jdk-8u25-macosx-x64.dmg就能夠。安裝完後,在終端中輸入java -version,顯示版本即安裝成功。下面是配置環境變量。在終端中輸入/usr/libexec/java_home會出現JDK所在的真實路徑。Mac 10.5後,Apple建議設置JAVA_HOME使用/usr/libexec/java_home。而後export$JAVA_HOME in file ~/. bash_profile or ~/.profile。因爲我用的是zsh,因此vi打開~/.zshrc,輸入圖片所示。保存並退出。在終端中執行source .zshrc。環境變量即生效。bash

SSH無密碼驗證配置

  Hadoop 須要使用SSH 協議,namenode 使用SSH 協議啓動 namenode 和datanode 進程,僞分佈式模式數據節點和名稱節點均是自己,爲了操做方便,須要配置 SSH localhost無密碼驗證。因爲mac自帶了ssh,因此直接進行設置。架構

1. 執行命令:ssh localhostoracle

  會有錯誤提示信息,表示當前用戶沒有權限。這是系統爲安全考慮,默認設置的。更改設置以下:進入system preference --> sharing --> 勾選remote login,並設置allow access for all users。再次輸入「ssh localhost",再輸入密碼並確認以後,能夠看到ssh成功。中文版以下圖:系統偏好設置->共享->遠程登陸

 不過這裏面還有一個麻煩,就是每次都會要求輸入用戶密碼,那麼就實現免登錄的配置

2.執行命令:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

3.執行命令:cat .ssh/id_rsa.pub >>.ssh/authorized_keys

4.再執行命令:ssh localhost

出現次登陸信息則表示免登錄配置成功。

配置

下面開始正式搭建。

Hadoop三種運行模式:

1. 單機模式(standalone):單機模式是Hadoop的默認模式。當配置文件爲空時,Hadoop徹底運行在本地。由於不須要與其餘節點交互,單機模式就不使用HDFS,也不加載任何Hadoop的守護進程。該模式主要用於開發調試MapReduce程序的應用邏輯。

2. 僞分佈模式(Pseudo-Distributed Mode):Hadoop守護進程運行在本地機器上,模擬一個小規模的的集羣。該模式在單機模式之上增長了代碼調試功能,容許你檢查內存使用狀況,HDFS輸入輸出,以及其餘的守護進程交互。

3. 全分佈模式(Fully Distributed Mode):Hadoop守護進程運行在一個集羣上。

Hadoop並無特別區分僞分佈式和集羣環境,僞分佈式能夠理解爲只有一個節點的集羣環境,方便學習和使用。

安裝Hadoop2.5.1

官網下載地址:http://mirrors.hust.edu.cn/apache/hadoop/common/

下載到本機後解壓到你工做空間中便可。

配置Hadoop環境變量

   打開終端,輸入vi .zshrc。輸入圖片所示,保存退出後。執行source .zshrc。

  在使用Hadoop以前,還須要對一些配置文件進行修改,Hadoop 2.5.1的配置文件都保存在$HADOOP_HOME/etc/hadoop文件夾下。如下直接列出幾個配置文件的修改方法。

hadoop-env.sh,主要是設置JAVA_HOME,因爲咱們以前已設置過JAVA_HOME,因此在這裏能夠不用修改。

至此,hadoop的單機環境就算安裝完了。

 

僞分佈式環境搭建

  這裏須要設定4個文件:core-site.xml,hdfs-site.xml,mapred-site.xml和yarn-site.xml.都在/opt/hadoop-2.5.1/etc/hadoop/目錄下
core-site.xml:Hadoop Core的配置項,例如HDFS和MapReduce經常使用的I/O設置等。
hdfs-site.xml:Hadoop 守護進程的配置項,包括namenode,輔助namenode和datanode等。
mapred-site.xml:MapReduce 守護進程的配置項,包括jobtracker和tasktracker。

yarn-site.xml: Yarn 框架用於執行MapReduce 處理程序

core-site.xml

 

hdfs-site.xml

mapred-site.xml

 

  請注意這裏安裝的2.5.1版本,2.*版本較1.*版本改動很大,主要是用Hadoop MapReduceV2(Yarn) 框架代替了一代的架構,其中JobTracker 和 TaskTracker 不見了,取而代之的是 ResourceManager, ApplicationMaster 與 NodeManager 三個部分,而具體的配置文件位置與內容也都有了相應變化。因此咱們在mapred-site.xml中設置了處理map-reduce的框架Yarn,接下來就須要在yarn-site.xml中配置ResourceManager, ApplicationMaster 與 NodeManager。

yar-site.xml

 

格式化HDFS

經過以上步驟,咱們已經設定好Hadoop僞分佈式環境,接着就是啓動Hadoop的相關服務,格式化namenode,secondarynamenode,tasktracker:

hadoop namenode -format  

如上圖所示,表明格式化成功。

啓動Hadoop

接着執行start-all.sh來啓動全部服務,包括namenode,datanode,start-all.sh腳本用來裝載守護進程。

./start-all.sh   #2.5.1版推薦使用start-dfs.sh和start-yarn.sh來啓動

用Java的jps命令列出全部守護進程來驗證安裝成功

檢查運行狀態
此時,Hadoop已經啓動,用瀏覽器打開localhost:50070localhost:8088,能夠分別看到HDFS和YARN的管理頁面。
http://localhost:50070          #HDFS管理頁面

http://localhost:8088            #YARN管理頁面

中止Hadoop服務

stop-all.sh

 

待解決問題:

查閱有關官方介紹 http://wiki.apache.org/hadoop/HowToContribute 中有說明:Hadoop本地庫只支持*nix平臺,已經普遍使用在GNU/Linux平臺上,可是不支持 Cygwin  和 Mac OS X 。須要本地編譯,因爲時間緣由一直沒弄好,稍後更新!

相關文章
相關標籤/搜索