Hadoop 06_MapReduce2.0(YARN)
Hadoop ?YARN (MRv2)
?
MapReduce2.0
?
MRv2:On YARN
YARN:解耦資源與計(jì)算
ResourceManager
-主,核心
-集群節(jié)點(diǎn)資源管理
NodeManager
-與RM匯報(bào)資源
-管理Container生命周期
-計(jì)算框架中的角色都以Container表示
Container:【節(jié)點(diǎn)NM,CPU,MEM,I/O大小,啟動(dòng)命令】
-默認(rèn)NodeManager啟動(dòng)線程監(jiān)控Container大小,超出申請(qǐng)資源額度,kill
-支持Linux內(nèi)核的Cgroup
MR :
MR-ApplicationMaster-Container
-作業(yè)為單位,避免單點(diǎn)故障,負(fù)載到不同的節(jié)點(diǎn)
-創(chuàng)建Task需要和RM申請(qǐng)資源(Container ?/MR 1024MB)
Task-Container
Client:
-RM-Client:請(qǐng)求資源創(chuàng)建AM
-AM-Client:與AM交互
-------------------------------------------------------------------------------------
?
YARN
?
YARN:Yet Another Resource Negotiator;
Hadoop 2.0新引入的資源管理系統(tǒng),直接從MRv1演化而來(lái)的;
-核心思想:將MRv1中JobTracker的資源管理和任務(wù)調(diào)度兩個(gè)功能分開(kāi),分別由ResourceManager和ApplicationMaster進(jìn)程實(shí)現(xiàn)
-ResourceManager:負(fù)責(zé)整個(gè)集群的資源管理和調(diào)度
-ApplicationMaster:負(fù)責(zé)應(yīng)用程序相關(guān)的事務(wù),比如任務(wù)調(diào)度、任務(wù)監(jiān)控和容錯(cuò)等
YARN的引入,使得多個(gè)計(jì)算框架可運(yùn)行在一個(gè)集群中
-每個(gè)應(yīng)用程序?qū)?yīng)一個(gè)ApplicationMaster
-目前多個(gè)計(jì)算框架可以運(yùn)行在YARN上,比如MapReduce、Spark、Storm等
【補(bǔ)充】JobTracker涉及的功能包括作業(yè)管理、狀態(tài)監(jiān)控、任務(wù)調(diào)度器等,
JobTracker主要包含的2個(gè)功能:資源管理和作業(yè)控制。
-------------------------------------------------------------------------------------
?
MapReduce ?On ?YARN
?
MapReduce On YARN:MRv2
將MapReduce作業(yè)直接運(yùn)行在YARN上,而不是由JobTracker和TaskTracker構(gòu)建的MRv1系統(tǒng)中
基本功能模塊
-YARN:負(fù)責(zé)資源管理和調(diào)度
-MRAppMaster:負(fù)責(zé)任務(wù)切分、任務(wù)調(diào)度、任務(wù)監(jiān)控和容錯(cuò)等
-MapTask/ReduceTask:任務(wù)驅(qū)動(dòng)引擎,與MRv1一致
每個(gè)MapRaduce作業(yè)對(duì)應(yīng)一個(gè)MRAppMaster
-MRAppMaster任務(wù)調(diào)度
-YARN將資源分配給MRAppMaster
-MRAppMaster進(jìn)一步將資源分配給內(nèi)部的任務(wù)
MRAppMaster容錯(cuò)
-失敗后,由YARN重新啟動(dòng)
-任務(wù)失敗后,MRAppMaster重新申請(qǐng)資源
?
總結(jié)
以上是生活随笔為你收集整理的Hadoop 06_MapReduce2.0(YARN)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Hadoop 05_MapReduce1
- 下一篇: java设计模式——工厂方法模式