Mac OS X Yosemite安裝Hadoop 2.6記錄

來源:互聯網
上載者:User

標籤:

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

一.  安裝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進行遠程登入的時候都要輸入password。

三. 安裝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> 

註: fs.default.name 儲存了NameNode的位置,HDFS和MapReduce組件都須要用到它,這就是它出如今core-site.xml 檔案裡而不是 hdfs-site.xml檔案裡的原因


編輯 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>

變數mapred.job.tracker 儲存了JobTracker的位置,由於僅僅有MapReduce組件須要知道這個位置,所以它出如今mapred-site.xml檔案裡。

編輯 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>

變數dfs.replication指定了每一個HDFS資料庫的複製次數。 通常為3, 因為我們僅僅有一台主機和一個偽分布式模式的DataNode,將此值改動為1。

至此,設定檔編輯完成。

接下來是進到 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.