1. 程式人生 > 其它 >1.3 Apache Hadoop的重要組成-hadoop-最全最完整的保姆級的java大資料學習資料

1.3 Apache Hadoop的重要組成-hadoop-最全最完整的保姆級的java大資料學習資料

目錄

1.3 Apache Hadoop的重要組成

Hadoop=HDFS(分散式檔案系統)+MapReduce(分散式計算框架)+Yarn(資源協調框架)+Common模組

  1. Hadoop HDFS:(Hadoop Distribute File System )一個高可靠、高吞吐量的分散式檔案系統

比如:100T資料儲存, “分而治之” 。分:拆分-->資料切割,100T資料拆分為10G一個數據塊由一個電腦節點儲存這個資料塊。

資料切割、製作副本、分散儲存

圖中涉及到幾個角色
NameNode(nn):儲存檔案的元資料,比如檔名、檔案目錄結構、檔案屬性(生成時間、副 本數、檔案許可權),以及每個檔案的塊列表和塊所在的DataNode等。
SecondaryNameNode(2nn)

:輔助NameNode更好的工作,用來監控HDFS狀態的輔助後臺程式,每隔一段時間獲取HDFS元資料快照。
DataNode(dn):在本地檔案系統儲存檔案塊資料,以及塊資料的校驗

注意:NN,2NN,DN這些既是角色名稱,程序名稱,代指電腦節點名稱!!

  1. Hadoop MapReduce:一個分散式的離線平行計算框架

    拆解任務、分散處理、彙整結果
    MapReduce計算 = Map階段 + Reduce階段

    Map階段就是“分”的階段,並行處理輸入資料

    Reduce階段就是“合”的階段,對Map階段結果進行彙總

  1. Hadoop YARN:作業排程與叢集資源管理的框架

    計算資源協調

Yarn中有如下幾個主要角色,同樣,既是角色名、也是程序名,也指代所在計算機節點名稱。

ResourceManager(rm):處理客戶端請求、啟動/監控ApplicationMaster、監控NodeManager、資源分配與排程;

NodeManager(nm):單個節點上的資源管理、處理來自ResourceManager的命令、處理來自ApplicationMaster的命令;

ApplicationMaster(am):資料切分、為應用程式申請資源,並分配給內部任務、任務監控與容錯。

Container:對任務執行環境的抽象,封裝了CPU、記憶體等多維資源以及環境變數、啟動命令等任務執行相關的資訊。

​ ResourceManager是老大,NodeManager是小弟,ApplicationMaster是計算任務專員。

  1. Hadoop Common:支援其他模組的工具模組(Configuration、RPC、序列化機制、日誌操作)