Mac OS X Yosemite安裝Hadoop 2.6記錄

來源:互聯網
上載者:User

標籤:os   hadoop 2.6   

整個安裝過程分為四部分:

一.  安裝Homebrew

二.  ssh localhost

三. 安裝Hadoop已經進行設定檔設定 (偽分布式)

四. 運行栗子


一. 安裝Homebrew

採用Homebrew安裝Hadoop非常簡潔方便,之前在Windows上Cygwin上安裝過Hadoop,感覺好麻煩。

關於Homebrew可以查看其官網 http://brew.sh/ 也可以查看Homebrew 新一代OS X套件管理工具 一文。

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然後將上面一行命令複製到終端執行就安裝完成了。


二. ssh localhost

因為安裝hadoop需要遠程登入的功能,所以需要安裝ssh工具。 Mac OS X只需在“系統喜好設定”的“共用”的“遠程登入”勾選就可以使用ssh了。

ssh的更多可以查看  SSH原理與應用  一文。

如果沒有產生過ssh公開金鑰,就使用命令: (查看 ~/.ssh/id_dsa 和~/.ssh/id_dsa.pub存不存在就知道之前有沒有產生過公開金鑰,或者直接執行ssh localhost看能否成功)

$ ssh-keygen -t rsa -P ""$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

後面的命令是為了將自己的公開金鑰存到對方的公開金鑰儲存檔案夾中, 這是為了避免每次執行ssh  localhost進行遠程登入的時候都要輸入密碼。

三. 安裝hadoop    因為就在自己的一台電腦,所以就採用偽分布式模式。

<span style="font-size:18px;">$ brew install hadoop</span>

hadoop 就安裝成功了,當然這樣安裝的最新穩定版, 我安裝時最新為2.6。 hadoop將按預定的路徑安裝。

下面就是設定檔的修改了:

hadoop-env.sh

檔案在/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop/hadoop-env.sh   

將 

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"

修改為

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
編輯 Core-site.xml

/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop/core-site.xml

<configuration>  <property>     <name>hadoop.tmp.dir</name>  <value>/usr/local/Cellar/hadoop/hdfs/tmp</value>    <description>A base for other temporary directories.</description>  </property>  <property>     <name>fs.default.name</name>                                          <value>hdfs://localhost:9000</value>                               </property>                                                        </configuration> 
編輯 mapred-site.xml   可能檔案名稱為 mapred-site.xml.templete , 改不改名字都可以。

 /usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop/mapred-site.xml 剛開始是空白的檔案

<configuration>       <property>         <name>mapred.job.tracker</name>         <value>localhost:9010</value>       </property> </configuration>
編輯 hdfs-site.xml

/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop/hdfs-site.xml

<configuration>    <property>      <name>dfs.replication</name>      <value>1</value>     </property> </configuration>
至此,設定檔編輯完畢。

接下來是進到 hadoop 的安裝目錄 /usr/local/Cellar/hadoop/2.6.0/sbin

然後執行 ./start-dfs.sh 和 ./start-yarn.sh 就可以啟動 Hadoop了。 不過這裡會出現一個 警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 這對Hadoop的運行沒有影響,關於這個警告後面再講。

為了啟動Hadoop的時候避免每次都首先進到安裝目錄,然後再執行./start-dfs.sh 和 ./start-yarn.sh這麼麻煩,所以在編輯 ~/.profiles檔案,加上如下兩行:

alias hstart="/usr/local/Cellar/hadoop/2.6.0/sbin/start-dfs.sh;/usr/local/Cellar/hadoop/2.6.0/sbin/start-yarn.sh"alias hstop="/usr/local/Cellar/hadoop/2.6.0/sbin/stop-yarn.sh;/usr/local/Cellar/hadoop/2.6.0/sbin/stop-dfs.sh"
然後執行 $ source ~/.profile 更新。 這樣可以就可以用 hstart 和 hstop 這兩個簡單明了啟動Hadoop了。

不過在啟動hadoop之前要先格式化 hdfs

$ hadoop namenode -format
這時就可以用hstart啟動hadoop了。 可以使用 $jps 命令驗證 Hadoop是否在運行。

四. 運行栗子

安裝完了之後肯定想看看能不能使用,hadoop內建了一個例子。$ hadoop jar <path to the hadoop-examples file> pi 10 100

$ hadoop jar /usr/local/Cellar/hadoop/2.3.0/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0.jar pi 2 5
得到的結果可能是這樣的:

Wrote input for Map #0Wrote input for Map #1Starting Job...Job Finished in 1.685 secondsEstimated value of Pi is 3.60000000000000000000

然後可以通過Web端進行監控。

Resource Manager: http://localhost:50070JobTracker: http://localhost:8088Specific Node Information: http://localhost:8042
通過他們可以訪問 HDFS filesystem, 也可以取得結果輸出檔案.


註: 前文提到的 警告 是關於 Hadoop 本地庫的, Hadoop本地庫是為了提高效率或者某些不能用Java實現的功能組件庫。目前只支援 *unix, 在Mac OS X和Cygwin上沒有支援的。native hadoop library

不過我看到一篇文章說也可以在Mac OS X支援本地庫,其解決方案是 Mac OSX 下 Hadoop 使用本地庫提高效率


Mac OS X Yosemite安裝Hadoop 2.6記錄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.