千家信息网

分布式资源调度框架Yarn如何理解

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,分布式资源调度框架Yarn如何理解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Yarn作为一个资源管理、任务调度的框架,其重要性不
千家信息网最后更新 2026年10月31日分布式资源调度框架Yarn如何理解

分布式资源调度框架Yarn如何理解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Yarn作为一个资源管理、任务调度的框架,其重要性不言而喻。尤其是在近些年的大数据面试中,更是面试题的重点知识之一。为了大家在面试的时候,能够准备的更加充分,小编整理了一份有关分布式资源调度框架Yarn的大数据面试题,内容包括Yarn的架构、工作流程、调度器Scheduler。

1、Yarn的架构

Yarn是一个资源管理、任务调度的框架, 主要包含三大模块:ResourceManager(RM)、NodeManager(NM)、

ApplicationMaster(AM)。

(1)ResourceManager 负责所有资源的监控、分配和管理;

(2)ApplicationMaster 负责每一个具体应用程序的调度和协调;

(3)NodeManager 负责每一个节点的维护。对于所有的 applications,RM 拥有绝对的控制权和对资源的分配权。而每个 AM 则会和 RM 协商资源,同时和NodeManager 通信来执行和监控 task。

2、Yarn的工作流程

(1)client 向 RM 提交应用程序,其中包括启动该应用的 ApplicationMaster 的必须信息,例如 ApplicationMaster 程序、启动 ApplicationMaster 的命令、用户程序等。

(2)ResourceManager 启动一个 container 用于运行 ApplicationMaster。启动中的 ApplicationMaster 向 ResourceManager 注册自己,启动成功后与 RM 保持心跳。

(3)ApplicationMaster 向 ResourceManager 发送请求, 申请相应数目的container。

(4)ResourceManager 返回 ApplicationMaster 的申请的 containers 信息。申请成功的container,由 ApplicationMaster 进行初始化。container 的启动信息初始化后,AM与对应的 NodeManager 通信,要求 NM 启动 container。AM 与 NM 保持心跳,从而对 NM 上运行的任务进行监控和管理。

(5)container 运行期间,ApplicationMaster 对 container 进行监控。container 通过 RPC协议向对应的 AM 汇报自己的进度和状态等信息。

(6)应用运行期间,client 直接与 AM 通信获取应用的状态、进度更新等信息。

(7)应用运行结束后,ApplicationMaster 向 ResourceManager 注销自己,并允许属于它的 container 被收回。

3、Yarn的调度器Scheduler。

Yarn 中,负责给应用分配资源的就是 Scheduler,三种调度器可以选择: FIFO Scheduler ,Capacity Scheduler,FairScheduler 。

(1)FIFO Scheduler

FIFO Scheduler 把应用按提交的顺序排成一个队列,这是一个 先进先出队列, 在进行资源分配的时候,先给队列中最头上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配,以此类推。

(2)Capacity Scheduler

Capacity 调度器允许多个组织共享整个集群,每个组织可以获得集群的一部分计算能力。通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源,这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。除此之外,队列内部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部,资源的调度是采用的是先进先出(FIFO)策略。

(3)Fair Scheduler

在 Fair 调度器中,我们不需要预先占用一定的系统资源,Fair 调度器会为所有运行的 job 动态的调整系统资源。如下图所示,当第一个大 job 提交时, 只有这一个 job 在运行,此时它获得了所有集群资源;当第二个小任务提交后,Fair 调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源。

关于分布式资源调度框架Yarn如何理解问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

资源 调度 应用 队列 分配 运行 任务 集群 框架 信息 多个 程序 监控 管理 分布式 问题 通信 成功 先进 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖南永感互联网科技有限公司 美国互联网保险保险科技 朗新科技与工业互联网 金融科技创新监管互联网金融 互联网科技与金融科技 互联网科技网站 互联网科技公司名称 中国最先进互联网科技公司 互联网 科技馆 团飞科技与伯堂互联网服务平台 科技与互联网哪个更好 互联网公司科技股 互联网媒体平台算高科技产业 中国互联网十大科技股排名 互联网科技股为什么大涨 悟空问答互联网科技 河南商务圈互联网科技有限公司 重庆科技产业互联网有哪些 互联网大会出现的黑科技 现代科技的标志之一的互联网 南京欣网互联网络科技 互联网科技小额贷款 火传媒上海互联网科技 互联网科技博客 团飞科技与伯堂互联网服务平台 互联网金融中的现代科技 翼展科技 首家互联网医院 互联网科技实习生岗位 互联网科技年终奖 广州梦谷互联网科技有限公司领导
0