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