Yarn中调度器介绍

2020-02-19  本文已影响0人  liuzx32
Yarn中主要包含3中调度器,FIFO Scheduler(先进先出调度器),Capacity Scheduler(容量调度器),Fair Scheduler(公平调度器)

  1. FIFO Scheduler,单队列调度器,也就是说单一队列使用集群全部资源,应用作业在队列中按照先进先出的顺序执行。

FIFO Scheduler 是最简单也是最容易理解的调度器,但是该调度器不适合共享集群,大的作业可能占用了所有的集群资源,导致后续的小应用作业处于阻塞状态而无法运行。


  1. Capacity Scheduler,多队列调度器,通过多个队列共享使用集群资源的容量调度器。

Capacity Scheduler 调度器适用于共享集群,可以设置多个队列来执行作业,队列之间共享集群资源,队列内部作业采用FIFO的方式执行。可以为每个队列设置资源使用的范围,如果一个队列的资源没有使用完,可以被其他队列共享使用,队列与队列之间的资源管理是平行的关系。


  1. Fair Scheduler,多队列调度器,通过多个队列共享使用集群资源。

Fair Scheduler 调度器适用于共享集群,队列内部默认平分资源,队列之间共享资源也可以设置一定的比例。


  1. Fair Scheduler与Capacity Scheduler区别

  1. 资源公平共享:在每个队列中,Fair Scheduler可选择按照FIFO、Fair或DRF策略为应用程序分配资源。Fair策略即平均分配,默认情况下,每个队列采用该方式分配资源
  2. 支持资源抢占:当某个队列中有剩余资源时,调度器会将这些资源共享给其他队列,而当该队列中有新的应用程序提交时,调度器要为它回收资源。为了尽可能降低不必要的计算浪费,调度器采用了先等待再强制回收的策略,即如果等待一段时间后尚有未归还的资源,则会进行资源抢占;从那些超额使用资源的队列中杀死一部分任务,进而释放资源
  3. 负载均衡:Fair Scheduler提供了一个基于任务数的负载均衡机制,该机制尽可能将系统中的任务均匀分配到各个节点上。此外,用户也可以根据自己的需求设计负载均衡机制
  4. 调度策略灵活配置:Fiar Scheduler允许管理员为每个队列单独设置调度策略(当前支持FIFO、Fair或DRF三种)
  5. 提高小应用程序响应时间:由于采用了最大最小公平算法,小作业可以快速获取资源并运行完成

上一篇 下一篇

猜你喜欢

热点阅读