Mesos vs Yarn

Apache Hadoop Yarn簡介

Yarn的基本理念是將資源管理與任務(wù)調(diào)度分離到不同的守護進程中去?;谶@個理念Yarn的設(shè)計包含一個全局資源管理器(ResourceManager)以及針對每個應(yīng)用一個ApplicationMaster。這里的應(yīng)用指一個job或者構(gòu)成DAG圖的多個job。

ResourceManager以及NodeManager構(gòu)成了計算框架。ResourceManage擁有為系統(tǒng)中所有應(yīng)用分配資源的絕對權(quán)力。NodeManager作為每個機器上的容器,管理系統(tǒng)資源(cpu,memory,disk,network)的使用情況,并向ResourceManager或者Scheduler報告。
ApplicationMaster實際上是一個特殊的框架類庫,它持有ResourceManager分配的資源,并與NodeManger協(xié)同工作,從而執(zhí)行和管理任務(wù)。

Yarn的架構(gòu)如下:

ResourceManager包含兩個重要的組件:SchedulerApplicationsManager
Scheduler根據(jù)一些耳熟能詳?shù)募s束(容量、隊列等)為運行的應(yīng)用分配資源。Scheduler是一個純粹的調(diào)度器,所以它不會管理或者記錄應(yīng)用的狀態(tài)。并且,它并不會負(fù)責(zé)重啟因為應(yīng)用故障或者硬件故障導(dǎo)致失敗的任務(wù)。Scheduler會根據(jù)應(yīng)用的需求進行資源分配,它是基于一個抽象的概念:資源Container,完成這項功能。此Container包含了諸如磁盤、內(nèi)存、CPU、網(wǎng)絡(luò)IO等信息。
Scheduler目前對于資源分配的策略是可插拔的,已有的CapacityScheduler以及FairScheduler是兩個插件樣例。
ApplicationsMaster負(fù)責(zé)接收提交的job,決定初始容器運行ApplicationMaster,并在ApplicationMaster失敗時重啟。每個ApplicationMater負(fù)責(zé)與Scheduler議定需要的資源,跟蹤它們的狀態(tài),以及管理任務(wù)進度。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容