CapacityScheduler优化patch调研

本文探讨了LinkedIn针对Hadoop YARN CapacityScheduler的两种优化策略:一是修改队列调度排序,避免高流失率环境下的死锁问题;二是分区节点作业分配隔离,提升性能。这两种场景分别通过随机选择队列和优化节点标签匹配来改善调度效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前看了LinkedIn的一篇Hadoop Yarn文章:https://engineering.linkedin.com/blog/2021/scaling-linkedin-s-hadoop-yarn-cluster-beyond-10-000-nodes

感觉写的很好,里面提到了两种优化CapacityScheduler调度效率的场景,这里提出来总结一下

一、修改队列调度排序

场景

CapacityScheduler默认根据利用率对队列进行排序,并首先将 containers 分配给利用率最低的队列。

假设我们有两个队列 A 和 B,如果 A 的利用率为 10%,B 的利用率为 20%,那么调度器将首先为队列 A 调度 containers,然后再移动到 B 队列,并为提供其服务。这在大多数情况下是有效;但是,在容器流失率高的环境中可能会出现短暂的死锁。

假设队列 B 中的大多数正在运行的作业都是相对较长的作业,而队列 A 中运行的作业是非常短命的作业。由于 A 的利用率仅为 10%,因此将在队列 A 中调度 containers 而不是队列 B。由于队列 A 中的 containers 流失率远高于队列 B,当调度程序完成队列 A 中的一次调度工作负载迭代时,队列 A 的利用率可能保持不变甚至下降,但仍远低于队列 B,例如 9.5%,而队列 B 的利用率略有下降至 19%。

在队列利用率收敛并且队列 A 的利用率超过队列 B 之前,调度程序不会接收提交到队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值