Hadoop組成架構


  Hadoop是apache用來“處理海量數據存儲和海量數據分析”的分布式系統基礎架構,更廣義的是指hadoop生態圈。
Hadoop的優勢
  高可靠性:hadoop底層維護多個數據副本,即使某個計算單元故障,也不會導致數據丟失。
  高擴展性:天然支持分布式,可方便的擴展至幾千個節點。
  高容錯性:能夠自動將失敗的任務重新分配。
  高效性:在mapReduce的思想下,hadoop是並行工作處理任務的。
Hadoop1.x和Hadoop2.x的區別

  

MapReduce架構概述
  Mapreduce實際上就是將計算過程分類兩個階段:map和reduce
    1)map階段:並行處理計算數據
    2)reduce階段:對map結果進行匯總
HDFS架構概述
  1. Name Node(nn) 就像一本書的目錄。存儲文件的元數據:如文件名,文件目錄結構,文件屬性(創建時間、副本數、文件權限),以及每個文件的塊列表和塊所在的dataNode等。
  2. Data Node(dn) 就像一本書的詳細類容。在本地文件系統存儲文件塊數據,以及數據的校驗。
  3. Seconddary Name Node(2nn)     2NN並非是NameNode熱備,他的作用是,輔助namenode工作,定期合並鏡像文件和編輯日志,緊急情況下恢復NameNode。個人理解就是,2nn幫助namenode完成edits向fsimage的合並工作。

YARN架構概述
  Yarn是管理內存調度和cpu資源分配的。
  *NodeManager(NM):常駐進程,類似於團隊里面的碼農,主要作用如下:
    1)管理單個節點的資源。(看禪道,完成自己每天的工作安排)
    2)處理來自ResourceManager的命令。(完成技術經理分配的任務)
    3)處理來自ApplicationMaster的命令。(完成項目組長分配的任務)
  *ApplicationMaster(AM):是ResourceManager臨時啟用的一個節點,不是常駐進程,類似於一個技術小組長:
    1)負責數據的切分,任務的監控與容錯。(管理組內同事工作)
    2)為應用程序申請資源分配給內部任務。(向領導為小組申請資源:人力、時間什么的)
  *ResourceManager(RM) :常駐進程,一個集群只有一個,用來管理集群調度情況的,就像一個部門的技術經理一樣,其作用如下:
    1)處理客戶端請求,進行資源分配與調度。(對接產品需求,分給手下的人)
    2)監控nodeManager(管理團隊成員每天的工作)
    3)啟動或監控applicationMaster(可能項目太小不想親自動手,臨時任命一個小組長)
  *Container:非常駐進程,它是yarn中的資源抽象,他封裝了某個節點上的多維度資源,入內存,CPU,磁盤網絡等。Am就運行在這里面,Nm通過打開關閉Container開完成資源的調度。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM