YARN调度原则
调度选项
- YARN有三种调度器可用:FIFO调度器(FIFO Scheduler),容量调度器(Capacity Scheduler)和公平调度器(Fair Scheduler)
FIFO调度器:
- 将应用放置在一个队列中,然后按照提交的顺序(先进先出)进行应用。首先为队列中的第一个应用的请求分配资源,第一个应用的请求被满足后依次为队列中的下一个应用服务
容量调度器
- 容量调度器允许多个组织共享一个Hadoop集群,每个组织可以分配到全部集群资源的一部分,每个组织被配置一个专门的队列,每个队列被配置为可以使用一定的集群资源。队列可以进一步按层次划分,这样每个组织内的不同用户能够共享该组织队列所分配的资源。在一个队列内,使用FIFO调度策略对应用进行调度。
公平资源调度器
- 公平资源调度器在为所有运行的应用公平分配资源;
- 想象两个用户A和B,分别拥有自己的队列Q1,Q2
- A先启动一个job J1,则J1占用集群所有资源
- B启动一个job J2,则Q1中的J1需要分一半资源给Q2中的J2
- B又启动一个job J3,则Q2中的J2需要分一半资源给Q2中的J3资源
- 因此用户B的每个作业将占用四分之一的集群资源,用户A占用一半的集群资源;结果便是,资源在用户间实现了公平共享