1. 程式人生 > >Mac上安裝hadoop

Mac上安裝hadoop

1.安裝JAVA——之後會執行jar包,肯定需要java的執行環境

檢視java版本:
  1. java -version  

————————————————————————————————————————————————————————————————————————————
2.下載hadoop 地址:http://hadoop.apache.org/releases.html
然後看到
我沒有選版本太高的,因為不會用
存放的路徑可以看到:/Users/hadoop
配置mac os 自身環境
這個主要是配置ssh環境。先在terminal裡面輸入
  1. <
    spanstyle="white-space:pre"></span>ssh localhost  
會有錯誤提示資訊,表示當前使用者沒有許可權。這個多半是系統為安全考慮,預設設定的。更改設定如下:進入system preference --> sharing --> 勾選remote login,並設定allow access for all users。再次輸入“ssh localhost",再輸入密碼並確認之後,可以看到ssh成功。
不過這裡面還有一個麻煩,就是每次都會要求輸入使用者密碼。《Hadoop實戰》提供了一種免登陸的方法。首先,輸入
  1. <span
    style="white-space:pre"></span>ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  
ssh-keygen表示生成祕鑰;-t表示祕鑰型別;-P用於提供密語;-f指定生成的祕鑰檔案。這個命令在”~/.ssh/“資料夾下建立兩個檔案id_dsa和id_dsa.pub,是ssh的一對兒私鑰和公鑰。接下來,將公鑰追加到授權的key中去,輸入:
  1. <spanstyle="white-space:pre"></span>cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  
————————————————————————————————————————————————————————————————————————————
3設定環境變數 在實際啟動Hadoop之前,有三個檔案需要進行配置。

但在這之前,我們需要設定一下幾個類似Windows的環境變數,方便以後在命令列敲命令。

export HADOOP_HOME=/Users/hadoop/hadoop-1.2.1      (根據你自己的目錄進行設定)

export PATH=$PATH:$HADOOP_HOME/bin 註明:export設定只對當前的bash登入session有效。這是存在記憶體裡面的。如果你嫌麻煩,就直接寫入etc中的profile檔案裡面就好。 ————————————————————————————————————————————————————————————————————————————
4.配置hadoop-env.sh
在Hadoop->conf目錄下,找到hadoop-env.sh,開啟編輯進行如下設定:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home(去掉註釋)

export HADOOP_HEAPSIZE=2000(去掉註釋)

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"(去掉註釋)

注意第三個配置在OS X上最好進行配置,否則會報“Unable to load realm info from SCDynamicStore”。
————————————————————————————————————————————————————————————————————————————
5.配置core-site.xml——指定了NameNode的主機名與埠
  1. <?xmlversion="1.0"?>
  2. <?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5.     <property>
  6.         <name>hadoop.tmp.dir</name>
  7.         <value>hdfs://localhost:9000</value>
  8.         <description>A base for other temporary directories.</description>
  9.     </property>
  10.     <property>
  11.         <name>fs.default.name</name>
  12.         <value>hdfs://localhost:8020</value>
  13.     </property>
  14. </configuration>
————————————————————————————————————————————————————————————————————————————
6.配置hdfs-site.xml——指定了HDFS的預設引數副本數,因為僅執行在一個節點上,所以這裡的副本數為1
  1. <?xmlversion="1.0"?>
  2. <?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5.     <property>
  6.         <name>dfs.replication</name>
  7.         <value>1</value>
  8.     </property>
  9. </configuration>
————————————————————————————————————————————————————————————————————————————
7.配置mapred-site.xml——指定了JobTracker的主機名與埠
  1. <?xmlversion="1.0"?>
  2. <?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5.     <property>
  6.         <name>mapred.job.tracker</name>
  7.         <value>hdfs://localhost:9001/value>
  8.     </property>
  9.     <property>
  10.         <name>mapred.tasktracker.map.tasks.maximum</name>
  11.         <value>2</value>
  12.     </property>
  13.     <property>
  14.         <name>mapred.tasktracker.reduce.tasks.maximum</name>
  15.         <value>2</value>
  16.     </property>
  17. </configuration>
————————————————————————————————————————————————————————————————————————————
8.安裝HDFS 經過以上的配置,就可以進行HDFS的安裝了。
  1. $HADOOP_HOME/bin/hadoop namenode -format  

如果出現以下結果:


就說明你的HDFS已經安裝成功了。

————————————————————————————————————————————————————————————————————————————
9.啟動Hadoop
很簡單,一條命令搞定。
  1. $HADOOP_HOME/bin/start-all.sh  


到這裡,hadoop單機偽分散式的環境就算搭建好了。 下一篇,用最簡單的程式來看下效果。