前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【赵渝强老师】Yarn的资源调度策略

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

原创
作者头像
赵渝强老师
发布2024-08-12 15:20:05
870
发布2024-08-12 15:20:05
举报
文章被收录于专栏:大数据技术

  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也可以根据不同任务的权重动态分配资源,权重越大分配的资源也就越多。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、FIFO Scheduler
  • 二、Capacity Scheduler
  • 三、Fair Scheduler
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档