大數據系列之Hadoop分佈式集羣部署

本節目的:搭建Hadoop分佈式集羣環境node

  1. 環境準備
    1. LZ用OS X系統 ,安裝兩臺Linux虛擬機,Linux系統用的是CentOS6.5;Master Ip:10.211.55.3 ,Slave Ip:10.211.55.4
    2. 各虛擬機環境配置好Jdk1.8(1.7+便可)
  2. 資料準備
    1.  hadoop-2.7.3.tar.gz
  3. 虛擬機配置步驟
    1. 如下操做都在兩臺虛擬機 root用戶下操做,切換至root用戶命令 
    2. 配置Master hostname 爲Master ;
      vi /etc/sysconfig/network
      

    3. 生效hostname 
      hostname master
      

       檢測主機名是否修改爲功命令以下,在操做以前須要關閉當前終端,從新打開一個終端:便可看到終端命令前是[user@hostname]web

    4. 按照步驟6+7 配置Slave hostname 爲 Slave;
    5. 關閉Slave防火牆
      service iptables stop
      

    6. 各虛擬機配置hosts列表,
      vi /etc/hosts
      

      添加內容(LZ master Ip是10.211.55.3,Salve Ip 是10.211.55.4)瀏覽器

    7. 驗證
      ping slave
      ping master

      如圖表示修改爲功app

    8. 免密鑰登陸配置(此部分操做均在用戶mfz下操做,切換至用戶:su mfz)
      1. Master節點上操做:
        ssh-keygen -t rsa      (屢次回車(Enter)便可)
      2.  複製公鑰文件框架

        cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

         

      3. 執行 ll查看  ssh

      4.  修改authorized_keys文件的權限,命令以下:webapp

        chmod 600 ~/.ssh/authorized_keys   (執行後文件權限爲 -rw------- )

             

      5.  將authorized_keys文件複製到slave節點,命令以下:分佈式

        scp ~/.ssh/authorized_keys mfz@slave:~/       (若是提示輸入yes/no的時候,輸入yes,回車密碼是mfz slave登陸密碼)
      6. slave節點上操做
      7. 在終端生成密鑰,命令以下(一路點擊回車生成密鑰)
        ssh-keygen -t rsa

         將authorized_keys文件移動到.ssh目錄oop

        mv authorized_keys ~/.ssh/

         

      8. 修改authorized_keys文件的權限,命令以下:
        cd ~/.ssh
        chmod 600 authorized_keys

         

      9. 驗證免密鑰登陸 ,在master節點上執行命令以下
        ssh slave

         若是還提示輸入slave登陸密碼則配置出錯。檢查步驟。spa

  4. Hadoop配置
    1.  每一個節點上的Hadoop配置基本相同,在HadoopMaster節點操做,而後完成複製到另外一個節點。下面全部的操做都使用mfz用戶,切換mfz用戶的命令是:su mfz

    2. 資源包上傳到 /home/mfz/resources/下
      1.   
    3. 執行命令,最後若是顯示目錄以下圖則表示操做成功
    4. cp /home/mfz/resources/hadoop-2.7.3.tar.gz /home/mfz/
      cd /home/mfz
      tar -xzvf hadoop-2.7.3.tar.gz
      ll hadoop-2.7.3

       

    5. 修改配置環境變量hadoop-env.sh 環境變量
      vi /home/mfz/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
       
          

       

    6.  配置hdfs-site.xml,添加\替換 以下

      <configuration>
              <property>
              <name>dfs.replication</name>
              <value>1</value>
              </property>
      </configuration>

       

    7. 配置core-site.xml ,添加\替換 以下
      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://master:9000</value>
          </property>
          <property>
             <name>hadoop.tmp.dir</name>
             <value>/home/mfz/hadoopdata</value>
            <description>A base for other temporary directories.</description>
          </property>
      </configuration>    

       

    8. 修改yarn-env.sh  環境變量
      vi yarn-env.sh

       

    9. 配置yarn-site.xml
      <configuration>
          <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
          </property>
          <property>
              <name>yarn.resourcemanager.address</name>
              <value>master:18040</value>
          </property>
          <property>
              <name>yarn.resourcemanager.scheduler.address</name>
              <value>master:18030</value>
          </property>
          <property>
              <name>yarn.resourcemanager.resource-tracker.address</name>
              <value>master:18025</value>
          </property>
          <property>
              <name>yarn.resourcemanager.admin.address</name>
              <value>master:18141</value>
          </property>
          <property>
              <name>yarn.resourcemanager.webapp.address</name>
              <value>master:18088</value>
          </property>
      </configuration>

       

    10.  配置計算框架mapred-site.xml

      cp mapred-site.xml.template mapred-site.xml  
      vi mapred-site.xm
      
      --添加/替換 以下
      
      <configuration>
          <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
          </property>
      </configuration>

       

    11. 修改slaves文件,插入slave 節點hostname (可配置多個slave)
      vi /home/mfz/hadoop-2.7.3/etc/hadoop/slaves
      cat /home/mfz/hadoop-2.7.3/etc/hadoop/slaves

       

    12.  複製到從節點(使用下面的命令將已經配置完成的Hadoop複製到從節點HadoopSlave上)  (可複製到多個slave)

      cd
      scp -r hadoop-2.7.3 slave:~/


      --注意:由於以前已經配置了免密鑰登陸,這裏能夠直接遠程複製。
       
          

       

  5. 運行驗證-啓動Hadoop集羣 
    1. 該節的配置須要同時在兩個節點(HadoopMaster和HadoopSlave)上進行操做
    2. 操做命令以下:(LZ 環境變量統一放在了/etc/profile 下,也可放於單個用戶~/.base_profile 下)
      cd 
      vi /etc/profile
      
      添加以下內容
      
      #HADOOP                                                                                                                              
      export HADOOP_HOME=/home/mfz/hadoop-2.7.3                                                                                            
      export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH     
      
      生效配置
      source /etc/profile

       

    3. 建立數據目錄(該節的配置須要同時在兩個節點(HadoopMaster和HadoopSlave)上進行操做。)

      1. cd 
        mkdir hadoopdata
        說明:(在用戶mfz主目錄下操做,此hadoopData目錄是hadoop-2.7.3/etc/hadoop/core-site.xml 中hadoop.tmp.dir 的 value)
      2. 格式化文件系統   ---格式化命令以下,該操做須要在HadoopMaster節點上執行:
        hdfs namenode -format

      3. 若是出現ERROR/Exception 則表示出現問題了。自行百度解決。。。
      4. Master節點上啓動hadoop 集羣
        cd /home/mfz/hadoop-2.7.3/
        
        sbin/start-all.sh

        在master的終端執行jps命令,在打印結果中會看到4個進程,分別是ResourceManager、Jps、NameNode和SecondaryNameNode,以下圖所示。若是出現了這4個進程表示主節點進程啓動成功。

         在slave的終端執行jps命令,在打印結果中會看到3個進程,分別是NodeManager、DataNode和Jps,以下圖所示。若是出現了這3個進程表示從節點進程啓動成功。

    4.  驗證啓動結果
      1. 驗證1:Web UI查看集羣是否成功啓動,在Master上啓動Firefox瀏覽器,在瀏覽器地址欄中輸入輸入http://master:50070/,檢查namenode 和datanode 是否正常。UI頁面以下圖所示。

      2. 驗證2: 在Master上啓動Firefox瀏覽器,在瀏覽器地址欄中輸入輸入http://master:18088/,檢查Yarn是否正常,頁面以下圖所示。

      3. 驗證3:mfz用戶下輸入以下命令,獲得結果最後輸出'Job Finished in 72.742 seconds   Estimated value of Pi is 3.20000000000000000000'則表示操做成功。
          
      4. cd
        cd hadoop-2.7.3/share/hadoop/mapreduce/
        hadoop jar hadoop-mapreduce-examples-2.7.3.jar pi 10 10

      5. 以上3個步驟驗證都沒有問題的話表示你成功完成了Hadoop分佈式集羣搭建。:)
相關文章
相關標籤/搜索