1. 程式人生 > >大資料的簡介及Hadoop單機和分散式安裝方法1

大資料的簡介及Hadoop單機和分散式安裝方法1

hadoop:開源軟體,可靠的、分散式、可伸縮的大資料軟體(是一個生態體系包括但不限於:hive、spark、MR、persto、kylin)

國家提出去IOE戰略:

  • IBM            //ibm大、小型機
  • Oracle        //oracle資料庫伺服器 RAC
  • EMC            //EMC共享儲存裝置。

資料量的技術;目前網際網路公司產生的資料量是非常大的;比如阿里巴巴天貓和淘寶商城每天產生的資料量在600PB兩級;資料隨著時間的長短產生的價值月低;實時計算是未來的發展的趨勢。

二進位制換算公式:

機制 K M G T P E Z Y N
二進位 1024 1024 1024 1024 1024 1024 1024 1024 1024

海量資料PB、RAID、磁碟陣列。    

大資料解決了兩個問題:
1.儲存:分散式儲存
2.計算:分散式計算
分散式:由分佈在不同主機上的程序協同在一起,才能構成整個應用。採用的架構為:B/S:Browser / http server:瘦客戶端.

failure over        //容災(這是架構師需要考慮的問題,其目的是保證業務的連續性)
fault over            //容錯

雲端計算特點:

  1. 服務化。
  2.  計算資源虛擬化
  3. 儲存系統和網路資源虛擬機器
  4. PAAS(RDS、快取平臺、MQ訊息中介軟體、大資料平臺、分散式服務治理等等)
  5. SAAS(這個主要分行業,金融行業、交通、ERP等等)

大資料的四個V特徵:

    1.volume    //體量大
    2.variety    //樣式多.
    3.velocity    //速度快
    4.valueless    //價值密度低

hadoop四個模組:

   1.common
    2.hdfs 
    3.hadoop yarn
    4.hadooop mapreduce(mr)

安裝hadoop

環境說明:在/root新建了soft;和大資料相關的軟體都放到soft

1.安裝jdk
        a)下載jdk-8u65-linux-x64.tar.gz;下載地址為百度雲:https://pan.baidu.com/s/16423sIRTOupnr9hNR-x8VQ
        b)tar  jdk-8u65-linux-x64.tar.gz
            $>mkdir /root/soft
            $>rz jdk-8u65-linux-x64.tar.gz
            $>tar -xzvf jdk-8u65-linux-x64.tar.gz
           c)建立符號連線

            $>ln -s /root/soft/jdk-1.8.0_65 /root/soft/jdk
            d)驗證jdk安裝是否成功
            $>cd /soft/jdk/bin(也可以進入任何目錄)
            $>./java -version

配置環境變數:

1.編輯/etc/profile
        $>vim /etc/profile
        ...
        export JAVA_HOME=/root/soft/jdk
        exprot PATH=$PATH:$JAVA_HOME/bin
 2.使環境變數即刻生效
        $>source /etc/profile
    
 3.進入任意目錄下,測試是否ok
        $>cd ~
        $>java -version

示例:

#hive
export HIVE_HOME=/usr/local/hive/apache-hive-2.1.0-bin
export PATH=$PATH:$HIVE_HOME/bin

#zookeeper
export zk_HOME=/usr/local/zk
export PATH=$PATH:$zk_HOME/bin

#zookeeper
export zk_HOME=/usr/local/zk
export PATH=$PATH:$zk_HOME/bin

#jdk
export JAVA_HOME=/root/soft/jdk
export PATH=$PATH:$JAVA_HOME/bin

#hadoop
export HADOOP_HOME=/root/soft/hadoop
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

安裝hadoop

1.安裝hadoop
        a)下載hadoop-2.7.3.tar.gz 下載Hadoop-2.7.3的百度雲地址為:https://pan.baidu.com/s/14NsDXAvO5AJraUR1sNk4ng
        b)tar開
            $>cd /root/soft

            $>rz hadoop-2.7.3.tar.gz 
            $>tar -xzvf hadoop-2.7.3.tar.gz
        c)建立符號連線
            $>ln -s /root/soft/hadoop-2.7.3 /root/soft/hadoop
        d)驗證jdk安裝是否成功
            $>cd /soft/hadoop/bin
            $>./hadoop version
  2.配置hadoop環境變數
        $>vim /etc/profile
        ...
        export JAVA_HOME=/root/soft/jdk
        exprot PATH=$PATH:$JAVA_HOME/bin

        export HADOOP_HOME=/root/soft/hadoop
        export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
   3.生效
        $>source /etc/profile

配置hadoop單機版和叢集配置

 1.standalone(local)nothing !不需要啟用單獨的hadoop程序(單機版本資料hadoop)。
  2.Pseudodistributed mode
        

偽分佈模式(完全分散式安裝可以本部落格中的hadoop安裝2)


        a)進入${HADOOP_HOME}/etc/hadoop目錄
        b)編輯core-site.xml

 <?xml version="1.0"?>
   <configuration>
        <property>
            <name>fs.defaultFS</name>
             <value>hdfs://localhost(自己Linux系統下/etchostname的名字)/</value>
         </property>
    </configuration>

c)編輯hdfs-site.xml            

<?xml version="1.0"?>
    <configuration>
        <property>
           <name>dfs.replication</name>
           <value>1</value>
         </property>
     </configuration>

 d)編輯mapred-site.xml

 注意:cp mapred-site.xml.template mapred-site.xml
            <?xml version="1.0"?>
            <configuration>
                <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
                </property>
            </configuration>

 e)編輯yarn-site.xml
            

<?xml version="1.0"?>
            <configuration>
                <property>
                    <name>yarn.resourcemanager.hostname</name>
                    <value>localhost</value>
                </property>
                <property>
                    <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
                </property>
            </configuration>

啟用Hadoop

1)cd /root/soft/hadoop/sbin

2)執行:start-all.sh檔案

3)或者可以執行:start-dfs.sh和start-yarn.sh

4)成功安裝驗證

最終jps檢視有5個程序:

  1. namenode
  2. datanode
  3. secondnamenode
  4. resourcemanager
  5. nodemanager

如下圖所示:

配置SSH(免金鑰登入,機器多為了提高效率)

1)檢查是否安裝了ssh相關軟體包(openssh-server + openssh-clients + openssh)

  • 執行命令為: yum list installed | grep ssh
  • 沒有安裝openssh-server + openssh-clients + openssh
  • 命令為:yum install -y openssh-server + openssh-clients + openssh

2)檢查是否啟動了sshd程序
     $>ps -Af | grep sshd
            
3)在client側生成公私祕鑰對。
        $>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
            

4)生成~/.ssh資料夾,裡面有id_rsa(私鑰) + id_rsa.pub(公鑰)

 5)追加公鑰到~/.ssh/authorized_keys檔案中(檔名、位置固定)

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

 6)修改authorized_keys的許可權為644。
      $>chmod 644 authorized_keys(644 rw-r--r--)給authorized_keys賦許可權
            
   7)測試
       $>ssh localhost

   8)這些操作的目的是多臺機器免密碼登入,其目的在後面scp傳輸檔案的時候不用輸入密碼