专业的编程技术博客社区

网站首页 > 博客文章 正文

Yarn架构组成和运行原理(yarn的架构组成)

baijin 2024-10-14 08:13:29 博客文章 12 ℃ 0 评论

Yarn架构组成和运行原理

(1)ResourceManager(RM),这个实体控制整个集群并管理应用程序向基础计算资源的分配,承担了1.X版本Job Tracker的角色;

处理客户端请求,启动和监控ApplicationMaster,监控NodeManager,资源的分配与调度

(2) ApplicationMaster(AM),负责协调来自 ResourceManager 的资源,并通过 NodeManager 监视容器的执行和资源使用(CPU、内存等的资源分配),承担了1.X版本Task Tracker的部分角色;

负责数据的切分,为应用程序申请资源并分配给内部的任务,任务的监控与容错

(3)NodeManager(NM),管理Yarn集群中每个节点的资源,处理来自RM和AM的命令;

(4)Container,容器,它封装了某个节点上的多维度资源,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示的;YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。

ps:由于NodeManager是资源框架,Container中是计算框架,所以两者分开避免了耦合性,实现了计算框架的可插拔性,在NodeManager资源框架环境下,Container中的计算框架可以是MR也可以是Spark等

ps:RM控制整个集群的资源分配与调度,

AM为任务向RM申请资源,RM返回的资源以Container封装表示

AM再将Container分配给NM,

NM对Container中资源的使用和执行进行监控和管理,

具体的计算框架在Container中实现,调用Container的资源环境。


绿色部分是Yarn,表示资源调度,

Container里紫色部分表示资源环境,白色部分是任务调度,由MR框架组成,

任务调度由MRAppMaster实现,MR Task与其共同构成计算框架;

由于资源调度与任务调度耦合性解除,Container的计算框架也可以用Spark等,实现了计算框架的可插拔性

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表