Hadoop: Fair Scheduler

Fair Scheduler是Hadoop的资源调度器,确保多应用间的公平资源分配。它基于队列分配资源,并允许根据内存和CPU进行配置。Fair Scheduler支持可插拔策略,如分级队列,并能自动为应用程序选择执行队列。此外,它允许在队列之间移动应用程序,以调整优先级。配置灵活,可以在不重启YARN的情况下生效。
摘要由CSDN通过智能技术生成

介绍

Fair Scheduler是公平分配YARN资源的方法之一。默认情况下,Fair Scheduler只基于内存来保证公平分配,通过配置yarn.scheduler.fair.cpu-scheduling-enabled为true,可以基于内存+CPU来分配资源。
当只有一个application在运行时,它可以使用整个集群资源。当其他app提交后,资源会被释放并分配给新来的app,这样就能保证大家拥有大致相同的资源。Fair Scheduler还可以根据每个app的权重、优先级来确定分配资源的比例。

Fair Scheduler基于队列概念,在队列和队列之间公平分配资源。默认default队列,用户也可以指定队列,还可以根据用户来配置其能够提交的队列。在每个队列中,也有一个资源调度策略,默认是基于内存的公平策略,还有FIFO等。

除了公平分配资源,Fair Scheduler还能控制每个队列最少获取资源数,来保证该队列下的app至少能获取到的资源。不过当该队列的任务没有用到最小资源数,那这些资源也会分给其他队列使用。(看到这里可能会有疑惑,资源不够时需要evict其他队列share的资源,这个策略是如何实现的?之后会有写Fair Scheduler原理的文章)

Fair Scheduler还可以限制每个用户和每个队列正在执行的app数,这个特性会在当某个用户同时提交大量app时,会产生过多的intermediate数据或者上下文切换。限制app执行数,对于后来的app不会直接失败,而是排在队列中等待。

可插拔策略实现的分级队列

分级队列不难理解,有一级、二级、三级…N级队列,如ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值