大數據學習之hadoop入門

大數據概念:指沒法在必定時間範圍內用常規軟件工具進行捕捉、管理和處理的數據集合,是須要新處理模式才能具備更強的決策力、洞察發現力和流程優化能力的海量、高增加率和多樣化的信息資產。java

按照數據存儲單位:bit、byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DBapache

Hadoop是一個apache基金會所開發的分佈式系統基礎架構,主要解決海量數據的存儲和海量數據的分析計算問題vim

廣義上來書,hadoop一般是指一個更普遍的概念--hadoop生態圈安全

 

hadoop2.x組成:MapReduce(計算)+Yarm(資源調度)+HDFS(數據存儲)+Common(輔助工具)服務器

HDFS架構概述:網絡

一、NameNode(nn):存儲文件的元數據,如文件名,文件目錄結構,文件屬性(生成時間,副本數,文件權限),以及每一個文件的塊列表和塊所在的DataNode等(數據索引)架構

二、DataNode(dn):在本地文件系統存儲文件塊數據,以及塊數據的校驗和(數據自己)分佈式

三、Secondary NameNode(2nn):用來監控HDFS狀態的輔助後臺程序,每隔一段時間獲取HDFS元數據的快照。工具

 

YARNoop

一、resourceManager(調度集羣資源)

    (1)處理客戶請求

    (2)監控NodeManager

    (3)啓動或監控ApplicationMaster

    (4)資源的分配與調度

二、NodeManager(NM)主要做用

   (1)管理單個節點上的資源

    (2)處理來自resourceManager的命令

    (3)處理來自ApplicationMaster的命令

三、ApplicationMaster(AM)做用以下

    (1)負責數據的切分

    (2)爲應用程序申請資源並分配給內部的任務

    (3)任務的監控與容錯

四、Container

    Container是YARN中的資源抽象,它封裝了某個節點上的對維度資源,如內存、CPU、磁盤、網絡等

 

MapReduce將計算過程分爲兩個階段:map和reduce

一、map階段並行處理輸入數據

二、reduce階段對map結果進行彙總

 

虛擬機準備:

硬盤50G   內存4G    cpu 6*2  2*2

/boot  200m

/swap 2G

/所有

虛擬機準備

一、防火牆關閉

           service iptables  stop    //服務關閉

          chkconfig iptables off     //關閉開機自啓

二、建立一個通常用戶atguigu

         useradd atguigu

         passwd atguigu

三、在/opt目錄下建立software module 文件夾

     mkdir  /opt/software/      /opt/module

    chown  atguigu:atguigu  /opt/software     /opt/module

四、把這個用戶加到sudoers

     vim /etc/sudoers

     atguigu ALL=(ALL)   NOPASSWD:ALL

    :wq! 強制保存

五、改hosts

    vim /etc/hosts

    在文件後追加

192.168.1.100  hadoop100

192.168.1.101  hadoop101

192.168.1.102  hadoop102

192.168.1.103  hadoop103

192.168.1.104  hadoop104

192.168.1.105  hadoop105

 

六、改靜態ip

   vim   /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.1.100

PREFIX=24

GATEWAY=192.168.1.2

DNS1=192.168.1.2

NAME=eth0

七、改主機名

    vim   /etc/sysconfig /network

    改HOSTNAME字段

   改爲HOSTNAME=hadoop100

拍快照

八、改網卡腳本文件

   vim /etc/udev/rules.d/70-persistent-net.rules

    第一行刪掉

    第二行

    最後 NAME="eth1" 改爲 NAME="eth0"

 

九、scp(secure copy)安全拷貝

     a、scp定義:scp能夠實現服務器與服務器之間的數據拷貝

     b、基本語法:scp    -r      $pdir/$fname                   $user@hadoop$host:$pdir/$fname

                          命令   遞歸    要拷貝的文件路徑/名稱   目的用戶@主機:目的路徑/名稱

     c、案例實操:在hadoop001上,將hadoop101中的 /opt/module目錄下的軟件拷貝到hadoop002上:

      命令:scp    -r     /opt/module  root@hadoop102:/opt/module

 

十、rsync遠程同步工具:主要用於備份和鏡像,具備速度快、避免複製相同內容和支持符號連接的有點。

rsync和scp區別:用rsync作文件的複製要比scp的速度快,rsync只對差別文件作更新。scp是把全部文件都複製過去。

   a、基本語法

  rsync        -rvl           $pdir/$fname                     $user@hadoop$host:$pdir/$fname

 命令          選項參數  要拷貝的文件路徑/名稱     目的用戶@主機:目的路徑/名稱

選項參數:-r    遞歸

                  -v    顯示覆制過程

                  -l     拷貝符合連接

  b、案例:把hadoop001機器上的/opt/software 目錄同步到hadoop002服務器的root用戶下的/opt/目錄

rsync -rvl /opt/software/  root@hadoop002;/opt/software

 

 十一、xsync集羣分發腳本

    a、需求:循環複製文件到全部節點的相同目錄下

    b、

安裝java和hadoop環境,配置環境變量

 /etc文件配置文件

/sbin存放hadoop啓動中止命令

 

Hadoop運行模式包括:本地模式、僞分佈式模式以及徹底分佈式模式

官網:http://hadoop.apache.org/

官方Grep案例:一、在hadoop-2.7.2文件下面建立一個input文件夾:mkdir input

                          二、將hadoop的xml配置文件複製到input下:cp  etc/hadoop/*.xml input

                          三、執行share目錄下的MapReduce程序:bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output  'dfs[a-z.]+'

                          四、查看輸出結果:cat output/*

官方wordcount案例:一、在hadoop-2.7.2文件下面建立一個wcinput文件夾:mkdir wcinput

                                   二、在winput文件下建立一個wc.input文件:cd wcinput

                                                                                                        touch wc.input

                                   三、編輯wc.input文件:vi wc.input

                                         在文件中輸入以下內容:hadoop yarm

                                                                                 hadoop mapreduce

                                                                                 atguigu

                                                                                 atguig              

                                            保存退出::wq

 

配置集羣:

一、集羣部署規劃:

                              hadoop001             hadoop002               hadoop003

           HDFS         NameNode               DataNode                SecondaryNameNode

                              DataNode                                                 DataNode

            YARN        NodeManager        ResourceManager      NodeManager

                                                            NodeManager

 

二、配置集羣

    a、核心配置文件

        配置core-site.xml

       

 

 

注意:格式化NameNode,會產生新的集羣id,致使NameNode和DataNode的集羣id不一致,集羣找不到以往數據。因此,格式NameNode時,必定要先刪除data數據和log日誌,而後再格式化NameNode

相關文章
相關標籤/搜索