【赵渝强老师】Yarn的资源调度策略

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: Yarn作为资源和任务调度平台,支持多个应用程序同时运行,如MapReduce、Spark和Flink等。Yarn的资源调度方式主要包括FIFO Scheduler(先来先服务)、Capacity Scheduler(容量调度)和Fair Scheduler(公平调度)。FIFO Scheduler按任务提交顺序调度;Capacity Scheduler通过队列管理资源,支持多租户共享;Fair Scheduler则根据任务权重动态分配资源,确保公平性。

b012.png

Yarn作为一个资源和任务调度的平台,在实际应用中往往不止一个应用程序运行在Yarn之上,例如:在Yarn上同时运着MapReduce任务、Spark任务和Flink任务等等。这时候Yarn就需要有一种机制进行调度去分配资源给这些应用程序。


视频讲解如下:


Yarn的资源调度方式主要有以下三种:


一、FIFO Scheduler

如下图所示。在t1的时间点上提交运行了Job1,在t2的时间点提交运行了Job2。但此时Job1并没有执行完成,因此Job2需要等待Job1执行完成后,才能运行。这样的资源调度方式存在的问题就是没有考虑任务的优先级。后提交的任务优先级别可能更高,但是无法得到资源运行,一直处于Pending的状态。




二、Capacity Scheduler


如下图所示,这种资源调度的方式是容器管理的调度方式,适合多租户安全地共享Yarn集群的资源。它采用的队列的方式,可以为不同的队列分配不同的资源比例。任务可以提交到不同的队列,而在同一个队列内部又采用FIFO Scheduler。同时Capacity Scheduler支持用户限制、访问控制、层级队列等等配置。



三、Fair Scheduler


如下图所示,Fair Scheduler是公平调度策略,能够根据任务的权重公平地分享Yarn集群中的资源。这种调度策略会为所有运行的任务动态分配资源。例如:在t1的时间点,提交了Job1。由于此时整个集群只有这一个任务在运行,它将占有集群的所有资源。在t2的时间点上,提交了Job2。此时,Yarn集群上就有两个任务在运行,它们将各占用系统一半的资源。如果有第三个Job3也提交了上来,这时候每个任务将占有系统三分一的资源。使用Fair Scheduler也可以根据不同任务的权重动态分配资源,权重越大分配的资源也就越多。




相关文章
|
资源调度 分布式计算 Java
Yarn资源调度器
Yarn资源调度器
57 0
|
5月前
|
资源调度 分布式计算 Hadoop
YARN中的资源调度主要通过其调度器(Scheduler)实现
【6月更文挑战第20天】YARN中的资源调度主要通过其调度器(Scheduler)实现
64 5
|
5月前
|
资源调度 分布式计算 Hadoop
YARN中的资源调度
【6月更文挑战第19天】YARN中的资源调度
55 3
|
SQL 资源调度 分布式计算
聊聊 yarn 的三种资源调度器和公平调度器的最佳配置实践
聊聊 yarn 的三种资源调度器和公平调度器的最佳配置实践
|
存储 分布式计算 资源调度
Yarn的基本概念与资源调度
Hadoop是Apache的一个开源分布式计算平台,以分布式文件系统HDFS,和MapReduce为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。HDFS的高容错性、高伸缩性等优点形成分布式系统;MapReduce分布式编程模型让我们开发并行应用程序。
|
资源调度 分布式计算 监控
工作常用之Yarn详解【五】资源调度与隔离
在YARN中,资源管理由ResourceManager和NodeManager共同完成,其中,ResourceManager中的调度器负责资源的分配,而NodeManager则负责资源的供给和隔离。
708 0
工作常用之Yarn详解【五】资源调度与隔离
|
资源调度 分布式计算 Hadoop
CDP中Yarn资源调度与管理
您可以通过调度分配资源、通过配置 cgroup 限制 CPU 使用、使用分区将集群划分为子集群以及在 Docker 容器上启动应用程序来管理集群上运行的应用程序的资源。
850 0
|
资源调度 大数据 容器
史上最快! 10小时大数据入门实战(四)-分布式资源调度YARN
1 YARN 产生背景 2 YARN 架构 3 YARN 执行流程 1.
1394 0
|
资源调度 分布式计算 监控
|
资源调度 数据库管理