Yarn在MapReduce中的工作机制
- 目錄
- 前言:
- 1、YARN概述
- 2、mapreduce&yarn的工作機(jī)制
- 總結(jié):
目錄
前言:
在了解Yarn在MR中的作用的時候需要先了解Yarn是什么。
1、YARN概述
Yarn是一個資源調(diào)度平臺,負(fù)責(zé)為運(yùn)算程序提供服務(wù)器運(yùn)算資源,相當(dāng)于一個分布式的操作系統(tǒng)平臺,而mapreduce等運(yùn)算程序則相當(dāng)于運(yùn)行于操作系統(tǒng)之上的應(yīng)用程序
YARN的重要概念
1、 yarn并不清楚用戶提交的程序的運(yùn)行機(jī)制
2、 yarn只提供運(yùn)算資源的調(diào)度(用戶程序向yarn申請資源,yarn就負(fù)責(zé)分配資源)
3、 yarn中的主管角色叫ResourceManager
4、 yarn中具體提供運(yùn)算資源的角色叫NodeManager
5、 這樣一來,yarn其實(shí)就與運(yùn)行的用戶程序完全解耦,就意味著yarn上可以運(yùn)行各種類型的分布式運(yùn)算程序(mapreduce只是其中的一種),比如mapreduce、storm程序,spark程序,tez ……
6、 所以,spark、storm等運(yùn)算框架都可以整合在yarn上運(yùn)行,只要他們各自的框架中有符合yarn規(guī)范的資源請求機(jī)制即可
7、 Yarn就成為一個通用的資源調(diào)度平臺,從此,企業(yè)中以前存在的各種運(yùn)算集群都可以整合在一個物理集群上,提高資源利用率,方便數(shù)據(jù)共享。
2、mapreduce&yarn的工作機(jī)制
客戶端提交程序到y(tǒng)arn的整個過程如下圖所示:
主要分為以下幾個關(guān)鍵步驟:
1、客戶端發(fā)送Application的提交請求到ResourceManager。
2、客戶端收到返回的存儲位置信息后,將相關(guān)的文件存儲到HDFS對應(yīng)的位置(實(shí)際就是mrAPPmaster所在的node上的位置)
3、向yarn申請啟動mrappmaster。
4、yarn將提交的申請信息進(jìn)行封裝轉(zhuǎn)化為一個Task放進(jìn)隊列中等待處理。
5、相應(yīng)的node領(lǐng)到task,運(yùn)行mrappmaster,將相關(guān)的Job信息下載到本地。
6、mrappmaster向yarn申請運(yùn)行maptask所需的node,各個node創(chuàng)建各自的容器container來處理maptask。
7、mrappmaster將job的相關(guān)信息發(fā)送的各個maptask所在的node上。
8、maptask的分區(qū)排序。
9、mrappmaster向yarn申請運(yùn)行reducetask所需node
10、reducetask階段
11、mrappmaster向resourcemanager申請注銷自己。
yarn有內(nèi)存分離機(jī)制會給一個進(jìn)程提供一塊固定的資源空間(CPU+RAM)來運(yùn)行,類似于一個容器,此處叫做container,一個節(jié)點(diǎn)包含多個container。
總結(jié):
最主要了解yarn在整個MR過程中起到的作用:即先通過Yarn來啟動mrappmaster,再通過mrappmaster來申請對應(yīng)的Maptask和ReduceTask的資源,(內(nèi)部處理任務(wù)的單元是一個Container容器)任務(wù)執(zhí)行完畢后mrappmaster向Yarn申請注銷自己。
總結(jié)
以上是生活随笔為你收集整理的Yarn在MapReduce中的工作机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dependencyManagement
- 下一篇: 离线地图瓦片下载工具