天天看點

ubuntu12.04 64bit安裝hadoop2.2.0

原文位址:http://blog.chinaunix.net/uid-23062171-id-4217333.html

1 安裝準備

    此叢集共三台機器,一台作為master: NameNode/ResouceManager,其餘作為slaves: DataNode/NodeManager

    三台機器都增加一個使用者名,比如:hadoop

1.1 安裝jdk

    請參考《ubuntu 12.04安裝oracle jdk1.7》

1.2 設定叢集中每台機器的hostname

    $sudo vim /etc/hostname  在此檔案中修改自己的hostname,修改好後可以使用以下指令進行檢視

    $hostname

    在叢集中的每台機器中修改hosts檔案,一般是修改好一個檔案後将檔案傳到其他機器相應的路徑下

    $sudo vim /etc/hosts

    在此檔案中加入以下内容,比如

    192.168.8.1    master

    192.168.8.2    slave1

    192.168.8.3    slave2

1.3 安裝ssh

    直接使用指令進行安裝

    $sudo apt-get install ssh

2 安裝部署

2.1 設定叢集ssh無密碼登入

    $ssh-keygen -t dsa -P ''   在.ssh目錄下生成兩個檔案一個是id_dsa,一個是id_dsa.pub

    $cat id_dsa.pub >> authorized_keys    将id_dsa.pub中的内容追加到認證的公鑰檔案authorized_keys

    $cat  ~/.ssh/authorized_keys | ssh [email protected] "cat - >> ~/.ssh/authorized_keys"    将authorized_keys的内容追加到其他兩個機器的authorized_keys中

2.2 下載下傳hadoop2.2.0安裝包

    下載下傳位址:http://apache.dataguru.cn/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz

2.3 解壓安裝包

    $tar -xzvf hadoop-2.2.0.tar.gz

    $cd hadoop-2.2.0

2.4 修改配置檔案

2.4.1

    $sudo vim /etc/profile

    在檔案末尾加上以下内容

    # Hadoop

    export HADOOP_HOME="/home/hadoop/hadoop-2.2.0"

    export PATH=$PATH:$HADOOP_HOME/bin

    export PATH=$PATH:$HADOOP_HOME/sbin

    export HADOOP_MAPRED_HOME=${HADOOP_HOME}

    export HADOOP_COMMON_HOME=${HADOOP_HOME}

    export HADOOP_HDFS_HOME=${HADOOP_HOME}

    export YARN_HOME=${HADOOP_HOME}

    # Native Path

    export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

    運作以下指令是環境變量生效

    sudo source /etc/profile

2.4.2 hadoop-env.sh

    $cd ~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh

    在檔案中加入以下内容

    export JAVA_HOME=/usr/local/jdk1.7

    export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

2.4.3 yarn-env.sh

    $cd ~/hadoop-2.2.0/etc/hadoop/yarn-env.sh

    在檔案中加入以下内容

    export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" 

2.4.4 core-site.xml

    $cd ~/hadoop-2.2.0/etc/hadoop/core-site.xml

    在檔案中加入以下内容,臨時檔案夾需要自己建立。

     點選(此處)折疊或打開

  1. <property>
  2.   <name>fs.defaultFS</name>
  3.   <value>hdfs://192.168.8.1:9000</value>
  4.   <final>true</final>
  5. </property>
  6. <property>
  7.   <name>hadoop.tmp.dir</name>
  8.   <value>/home/hadoop/hadoop-2.2.0/temp</value>
  9. </property>

2.4.5 hdfs-site.xml

     $cd ~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

    在檔案中加入以下内容,name和data檔案夾需要自己建立

點選(此處)折疊或打開

  1. <property>
  2.     <name>dfs.namenode.name.dir</name>
  3.     <value>file:/opt/hadoo/dfs/name</value>
  4.     <final>true</final>
  5. </property>
  6. <property>
  7.     <name>dfs.datanode.data.dir</name>
  8.     <value>file:/opt//hadoop/dfs/data</value>
  9.     <final>true</final>
  10. </property>
  11. <property>
  12.     <name>dfs.replication</name>
  13.     <value>1</value>
  14. </property>
  15. <property>
  16.     <name>dfs.permissions</name>
  17.     <value>false</value>
  18. </property>

2.4.6 mapred-site.xml

     $cd ~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

    在檔案中加入以下内容

點選(此處)折疊或打開

  1. <property> 
  2.     <name>mapreduce.framework.name</name> 
  3.     <value>yarn</value> 
  4. </property> 
  5. <property> 
  6.     <name>mapred.system.dir</name> 
  7.     <value>file:/opt/hadoop/mapred/system</value> 
  8.     <final>true</final> 
  9. </property> 
  10. <property> 
  11.     <name>mapred.local.dir</name> 
  12.     <value>file:/opt/hadoop/mapred/local</value> 
  13.     <final>true</final> 
  14. </property>

2.4.7 yarn-site.xml

     $cd ~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

    在檔案中加入以下内容

點選(此處)折疊或打開

  1. <property>
  2.   <name>yarn.resourcemanager.address</name>
  3.   <value>master:8032</value>
  4. </property>
  5. <property>
  6.   <name>yarn.resourcemanager.scheduler.address</name>
  7.   <value>master:8030</value>
  8. </property>
  9. <property>
  10.   <name>yarn.resourcemanager.resource-tracker.address</name>
  11.   <value>master:8031</value>
  12. </property>
  13. <property>
  14.   <name>yarn.resourcemanager.admin.address</name>
  15.   <value>master:8033</value>
  16. </property>
  17. <property>
  18.   <name>yarn.resourcemanager.webapp.address</name>
  19.   <value>master:8088</value>
  20. </property>
  21. <property> 
  22.     <name>yarn.nodemanager.aux-services</name> 
  23.     <value>mapreduce_shuffle</value> 
  24. </property> 
  25. <property> 
  26.     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
  27.     <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
  28. </property>

2.4.8 配置slaves檔案    

    在檔案中加入一下内容

    slave1

    slave2 

2.5 将配置好的hadoop檔案夾考到其餘節點上    

    $scp -r ~/hadoop-2.2.0 hadoop@ 192.168.8.2:~/

    $scp -r ~/hadoop-2.2.0 hadoop@ 192.168.8.3:~/

2.6 啟動叢集

    2.6.1 格式化叢集

        $cd ~/hadoop-2.2.0

       $bin/hdfs namenode -format            如果成功啟動,那麼就可以啟動叢集完成自己的工作了

    2.6.2 啟動叢集

        $cd ~/hadoop-2.2.0/sbin

        $./start-dfs.sh

        $./start-yarn.sh

    啟動完成之後可以在master和slave節點檢視,啟動的程序是否成功,使用一下指令

        $jps

    在master節點上應該有以下程序:ResourceManager、NameNode、SecondaryNameNode

    在slave節點上應該有以下程序:NodeManager、DataNode

繼續閱讀