大數據筆記(二)——Apache Hadoop的體系結構

 

 

 

一.分佈式存儲數據庫

  • NameNode(名稱節點)

    1.維護HDFS文件系統,是HDFS的主節點。分佈式

    2.接收客戶端的請求:上傳、下載文件、建立目錄等。oop

 

 

 

 

    3.記錄客戶端操做的日誌(edits文件),保存了HDFS最新的狀態spa

      1)Edits文件保存了自最後一次檢查點以後全部針對HDFS文件系統的操做,好比:增長文件、重命名文件、刪除目錄等3d

      2)保存目錄:$HADOOP_HOME/tmp/dfs/name/current日誌

 

    能夠使用 hdfs oev -i 命令將日誌(二進制)輸出爲 XML文件xml

     hdfs oev -i  edits_inprogress_0000000000000005499  -o ~/temp/log.xmlblog

    4.維護文件元信息,將內存中不經常使用的文件元信息保存在硬盤上(fsimage文件)內存

      1)fsimage是HDFS文件系統存於硬盤中的元數據檢查點,裏面記錄了自最後一次檢查點以前HDFS文件系統中全部目錄和文件的序列化信息hadoop

      2)保存目錄:edits

           3)能夠使用 hdfs oev -i 命令將日誌(二進制)輸出爲 XML文件

  • DataNode(數據節點)

    1.以數據塊爲單位,保存數據

       1)Hadoop1.0的數據塊大小:64M

          2)Hadoop2.0的數據庫大小:128M

      2.在全分佈模式下,至少兩個DataNode節點

                3.數據保存的目錄:由 hadoop.tmp.dir 參數指定

  • Secondary NameNode(第二名稱節點)

    1.主要做用:合併日誌

    2.合併時機:HDFS發出檢查點的時候

    3.日誌合併過程:

  • HDFS存在的問題

    1)NameNode單點故障問題

       解決方案:Hadoop2.0中,使用Zookeeper實現NameNode的HA功能

    2)NameNode壓力過大,且內存受限,影響系統擴展性

     解決方案:Hadoop2.0中,使用NameNode聯盟實現水平擴展

二.YARN:分佈式計算(MapReduce)

  

  • ResourceManager(資源管理器)

     1.接收客戶端的請求,執行任務

     2.分配資源

     3.分配任務

  • NodeManager(節點管理器:運行任務 MapReduce)

   從 DataNode上獲取數據,執行任務

 

三.HBase的體系結構

  

相關文章
相關標籤/搜索