1.3 Apache Hadoop的重要組成-hadoop-最全最完整的保姆級的java大資料學習資料
1.3 Apache Hadoop的重要組成
Hadoop=HDFS(分散式檔案系統)+MapReduce(分散式計算框架)+Yarn(資源協調框架)+Common模組
- Hadoop HDFS:(Hadoop Distribute File System )一個高可靠、高吞吐量的分散式檔案系統
比如:100T資料儲存, “分而治之” 。分:拆分-->資料切割,100T資料拆分為10G一個數據塊由一個電腦節點儲存這個資料塊。
資料切割、製作副本、分散儲存
圖中涉及到幾個角色
NameNode(nn):儲存檔案的元資料,比如檔名、檔案目錄結構、檔案屬性(生成時間、副 本數、檔案許可權),以及每個檔案的塊列表和塊所在的DataNode等。
SecondaryNameNode(2nn)
DataNode(dn):在本地檔案系統儲存檔案塊資料,以及塊資料的校驗
注意:NN,2NN,DN這些既是角色名稱,程序名稱,代指電腦節點名稱!!
-
Hadoop MapReduce:一個分散式的離線平行計算框架
拆解任務、分散處理、彙整結果
MapReduce計算 = Map階段 + Reduce階段Map階段就是“分”的階段,並行處理輸入資料
Reduce階段就是“合”的階段,對Map階段結果進行彙總
-
Hadoop YARN:作業排程與叢集資源管理的框架
計算資源協調
Yarn中有如下幾個主要角色,同樣,既是角色名、也是程序名,也指代所在計算機節點名稱。
ResourceManager(rm):處理客戶端請求、啟動/監控ApplicationMaster、監控NodeManager、資源分配與排程;
NodeManager(nm):單個節點上的資源管理、處理來自ResourceManager的命令、處理來自ApplicationMaster的命令;
ApplicationMaster(am):資料切分、為應用程式申請資源,並分配給內部任務、任務監控與容錯。
Container:對任務執行環境的抽象,封裝了CPU、記憶體等多維資源以及環境變數、啟動命令等任務執行相關的資訊。
ResourceManager是老大,NodeManager是小弟,ApplicationMaster是計算任務專員。
- Hadoop Common:支援其他模組的工具模組(Configuration、RPC、序列化機制、日誌操作)