1. 程式人生 > >Apache Hadoop-2.7.3偽分散式搭建詳細步驟

Apache Hadoop-2.7.3偽分散式搭建詳細步驟

1.什麼是Apache Hadoop?

Apache Hadoop專案為可靠,可擴充套件的分散式計算開發開源軟體。

2.Apache Hadoop專案包含哪些模組?

  • Hadoop Common:支援其他hadoop模組的常用工具
  • HDFS(Hadoop Distributed File System):一種分散式檔案系統,可提供對應用程式資料的高吞吐量訪問
  • Hadoop YARN:作業排程和叢集資源管理的框架
  • Hadoop MapReduce:一種用於並行處理大型資料集的基於YARN的系統

3.Apache的其他Hadoop相關專案包括哪些?

   1.Avro:資料序列化系統

   2.HBase可擴充套件的分散式資料庫,支援大型表格的結構化資料儲存

   3.Hive:提供資料彙總和即查詢的資料倉庫基礎架構

   4.Spark:用於Hadoop資料的快速和通用計算引擎。Spark提供了一個簡單而富有表現力的程式設計模型,支援廣泛的應用程式,包括ETL,機器學習,流處理和圖計算

   5.ZooKeeper:分散式應用程式的高效能協調服務

4.Hadoop偽分散式叢集搭建過程

本機條件:虛擬機器VMware/CentOS6.5/jdk-8u162-linux-x64/hadoop-2.7.3

說明:因為Hadoop是Apache旗下的開源專案,並且底層是java,所以需要安裝jdk

注:搭建hadoop叢集是要給普通使用者使用,使用所以我們應該建立普通使用者,不應為了圖方便使用root使用者

  1. 通過外部掛載或者使用SSH工具,上傳hadoop、jdk軟體至~/soft(普通使用者工作路徑下的soft,需要手動建立)
   $>cp  jdk-8u162-linux-x64.tar.gz  ~/soft

   $>cp hadoop-2.7.3.tar.gz  ~/soft

    2.加壓相關軟體

   $>tar  -zxvf  jdk-8u162-linux-x64.tar.gz

   $>tar  -zvxf  hadoop-2.7.3.tar.gz

    3.建立軟連結(為了配置環境變數的時候方便)

   $>ln -s jdk1.8.0_162/ jdk
   $>ln -s hadoop-2.7.3/ hadoop

    4.修改環境變數(只修改當前使用者的環境變數)

   $>cd ~
   $>vi .bash_profile 

        注:桌面版本也可以使用gedit

       在檔案最後追加以下指令:     

     #jdk install
     export JAVA_HOME=/home/hyxy/soft/jdk
     export PATH=$JAVA_HOME/bin:$PATH
     #hadoop install
     export HADOOP_HOME=/home/hyxy/soft/hadoop
     export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

       重新整理指令:

    $>source .bash_profile

     注:重新整理完之後,只有當前會話可用,建議reboot(重啟)

5.配置SSH

        a.修改主機名(hostname),如果你的主機名稱為master可以不用修改

    $>su
    $>vi /etc/sysconfig/network

         修改內容:【HOSTNAME=master】

        b.修改hosts檔案

    $>su
    $>vi /etc/hosts

        追加內容:【ip 主機名鍵值對】

        c.reboot(重啟)

        d.生成金鑰

    $>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

        【說明:-t:設定生成金鑰的演算法,採用rsa演算法 -P:設定密碼,預設為空 -f:設定金鑰生成的檔案位置,~/.ssh

        e.生成認證庫

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

        f.修改認證庫(authorized_keys)的許可權為600

    $>chmod 600 ~/.ssh/authorized_keys

        g.ssh master

        無密登入成功了!!!第一次登入需要輸入密碼這是正常情況

   6.配置hadoop

        a.找到hadoop的配置路徑:

    cd $HADOOP_HOME/etc/hadoop

        b.修改core-site.xml配置檔案,在configuration標籤中新增:

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>

         c.修改hdfs-site.xml配置檔案,在configuration標籤中新增:

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

         d.修改hadoop-env.sh中的JAVA_HOME變數:

    export JAVA_HOME=/home/hyxy/soft/jdk

         e.格式化HDFS

    $>hdfs namenode -format

         f.開啟hadoop守護程序

    $>start-dfs.sh

         g.在linux系統上的瀏覽器上輸入:http://master:50070,出現:

        

    並且檢視Live Node :為1,表示成功了!!!

5.怎麼在虛擬機器外部瀏覽器,訪問:http://ip(虛擬機器的實際ip):50070        

    1.關閉防火牆

   $>su

   $>chkconfig iptables off

   $>chkconfig ip6tables off

    2.關閉selinux

   $>su

   $>vi /etc/sysconfig/selinux

       修改內容:【SELINUX=disabled】