YARN学习笔记
?
一,YARN概述
YARN是一個分布式資源管理平臺,負(fù)責(zé)為運算程序提供服務(wù)器的運算資源(cpu資源和內(nèi)存資源),相當(dāng)一個分布式的操作系統(tǒng)平臺,而MapReduce等運算程序相當(dāng)于運行于操作系統(tǒng)上的應(yīng)用程序。
YARN并不清楚用戶提供的程序的運行機制,只提供運算資源的調(diào)度(用戶程序向yarn申請資源,yarn就負(fù)責(zé)分配資源)。
YARN中的主管角色為ResourceManager,提供資源的角色為NodeManager。
spark,storm等運算框架都可以整合在YARN上面運行,只要有符合YARN規(guī)范的資源請求機制即可。
YARN就成為一個通用的資源調(diào)度平臺,從此,企業(yè)中以前存在的各種運算集群都可以整合在一個物理集群上,提高資源利用率,方便數(shù)據(jù)共享。
二,YARN與MapReduce
?
?
YarnRunner(yarn的客戶端程序)在客戶端機上運行 ,通過RPC調(diào)用去向ResouceManager申請一個mr程序的job,返回一個jobid和提交資源用的stagingdir,再提交給HDFS mr程序的相關(guān)資源文件,返回給ResouceManager一個job資源文件提交完畢的通知,ResouceManager初始化Task任務(wù)。MRAppmaster領(lǐng)取任務(wù),在運算出需要幾個MapTask(多少資源),返回給ResouceManager分配資源(相應(yīng)的NodeManager)。MRAppmaster得到相應(yīng)的資源,運算任務(wù)在各個NodeManager開始執(zhí)行。在MapTask任務(wù)的執(zhí)行過程中,Nodemanager無時無刻在監(jiān)控著任務(wù)的進度,在所有MapTask完成后,NodeManager會回收資源,再去分配給新的任務(wù)。
?
?
?
?
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/songweideboke/p/9801612.html
總結(jié)
- 上一篇: 【校内模拟】次短路
- 下一篇: Django 之多对多关系