延时调度

延时调度的定义

所有的YARN调度器都试图以本地请求为重。在一个繁忙的集群上,如果一个应用请求某个节点,那么极有可能此时有其他容器正在该节点上运行。理想中的处理方式是,立刻放宽本地需求,在同一机架上分配一个容器。但是,实际上为,此时如果等待一小段时间(不超过几秒),能够增加在所请求的节点上分配到一个容器的机会,从而可以提高集群的效率。这个特性称为“延迟调度”。容量调度器和公平调度器都支持延时调度。

YARN中的每个节点管理器周期性的(默认每秒一次)向资源管理器发送心跳请求。心跳中携带了节点管理器中正在运行的容器、新容器可用的资源等信息。这样对于一个计划运行一个容器的应用而言,每个心跳就是一个潜在的调度机会。

配置延时调度

当使用延时调度时,可以通过设置yarn.scheduler.capacity.node-locality-delay来配置延时调度。设置为正整数,表示调度器在放松节点限制、改为匹配同一机架上的其他节点前,准备错过的调度机会的数量。

公平调度器也使用调度机会的数量来决定延时时间,尽管是使用集群规模的比例来表示这个值。例如将yarn.scheduler.fair.locality.threshold.node设置为0.5,表示调度器在接受同一机架中的其他节点之间,将一直等待直到集群中的一半节点都已经给过调度机会。还有个相关的属性yarn.scheduler.fair.locality.threshold.rack,表示在接受另一个机架替代所申请的机架前需要等待的时长阈值。

 

资源链接

1.公平调度器

2.容量调度器

3.YARN运行机制

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值