yarn3种调度器

  • Post author:
  • Post category:其他


yarn调度器

试想一下,你现在所在的公司有



个hadoop的集群。但是A项目组经常做一些定时的BI报表,B项目组则经常使用一些软件做一些临时需求。那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这两个任务呢?是先执行A的任务,再执行B的任务,还是同时跑两个?

如果你存在上述的困惑,可以多了解一些yarn的资源调度器。

在Yarn框架中,调度器是一块很重要的内容。有了合适的调度规则,就可以保证多个应用可以在同一时间有条不紊的工作。最原始的调度规则就是FIFO,即按照用户提交任务的时间来决定哪个任务先执行,先提交的先执行。但是这样很可能一个大任务独占资源,其他的资源需要不断的等待。也可能一堆小任务占用资源,大任务一直无法得到适当的资源,造成饥饿。所以FIFO虽然很简单,但是并不能满足我们的需求。

理想情况下,yarn应用发出的资源请求应该立刻给予满足。然而现实中的资源有限,在一个繁忙的集群上,一个应用经常需要等待才能得到所需的资源。yarn调度器的工作就是根据既定的策略为应用分配资源。调度通常是一个难题,并且没有一个所谓的“最好”的策略,这也是为什么yarn提供了多重调度器和可配置策略供我们选择的原因。


yarn分为一级调度管理和二级调度管理

一级调度管理(更近底层,更接近于操作资源, 更偏向于应用层和底层结合) 计算资源管理(cpu,内存等,计算复杂消耗的cpu多) App生命周期管理二级调度管理(自己代码的算法等, 更偏向于应用层) App内部的计算模型管理 多样化的计算模型

1 调度器

在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairS cheduler



版权声明:本文为qq_35400008原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。