HDFS,YARN,MapReduce三者之間的關系


 

HDFS:DataNode存儲數據,NameNode負責告訴別人數據存儲在哪個節點,哪些信息,2NN,備份NameNode.

YARN:整個集群資源的管理。

MapReduce:

(1)分布式的運算程序往往需要分成至少 2 個階段。
(2)第一個階段的 MapTask 並發實例,完全並行運行,互不相干。
(3)第二個階段的 ReduceTask 並發實例互不相干,但是他們的數據依賴於上一個階段的所有MapTask 並發實例的輸出。
(4)MapReduce 編程模型只能包含一個 Map 階段和一個 Reduce 階段,如果用戶的業務邏輯非常復雜,那就只能多個 MapReduce 程序,串行運行。

大致過程:

1、有一個client(可以代碼調用,一些頁面訪問入口等),向集群提交一個任務,比如查詢某某文件。

 2、client提交完任務之后,YARN中的ResourceManger找一個節點,開啟一個Container,然后把任務放到Container中,任務叫App Mstr,App Mstr向ResourceManger申請,任務開啟所需資源。ResourceManger尋找哪些節點有資源,App Mstr開啟Map Task,相當於Map階段。每一個Map Task獨立運行,最終把結果匯總寫入磁盤HDFS上。


免責聲明!

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



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