yarn的三大调度策略
FIFO(先进先出): 目前几乎已经没有人使用了.
类似于: 单行道.
好处:
每个计算任务能独享集群100%的资源.
弊端:
不能并行执行, 如果大任务过多, 会导致小任务执行时间过长.
Capacity(容量调度): 我们用的Apache Hadoop(社区版Hadoop), Yarn的底层默认用的就是这种调度器.
类似于: 多车道.
好处:
1. 可以当多任务, 并行执行, 提高计算效率.
2. 可以借调资源.
弊端:
1. 每个计算任务不能独享集群100%的资源, 存在着资源闲置(浪费)的情况.
2. 如果出现了资源借调的情况, 可能也会出现无法"及时"归还资源的情况.
Fair(公平调度): FaceBook推出的, 后续要用的CDH(Cloudera公司提供的Hadoop, 商业版)的Yarn调度器就是这个.
类似于: 潮汐车道.
好处:
1. 多任务可以并行执行, 提高计算效率.
2. 如果只要1个任务, 则它可以共享集群100%的资源.
弊端:
每个任务获取集群的资源, 都是公平的, 均分的, 例如: 1个任务, 就占用 100%资源,
2个任务, 各占50%的资源
3个任务, 各占33.3333....%的资源
.......
如果小任务过多, 会导致大任务迟迟无法执行结束的问题.