概要说明
这里的调度策略分为两个层面:队列之间的调度策略和队列内部的调度策略。队列之间的调度支持三种资源调度策略:FIFO、FAIR、FURION(需要企业版以上许可证才能支持)。本案例是配置队列间的调度模式。
其中FIFO和FAIR是兼容了Spark中对应的调度算法,管理的粒度是TaskSet。FURION是Inceptor中独特的调度策略,它沿用了FAIR调度方式,不同的是FURION采用树形结构的形式管理资源队列,并将管理粒度细化到Task。
-
FIFO:先进先出是最简单的模式,它根据所有提交的任务按照顺序逐一执行。
-
FAIR:采用相对于FIFO更加公平的调度方式。
-
FURION:FURION模式沿袭了FAIR的调度算法,都是完全公平策略的一种实现,并且采用采用加权的排序调度算法。
详细说明
设置的具体方法需要在所有的inceptor节点上的/etc/inceptorxx/conf
下面添加对应的fair.xml文件,以及需要在manager上面给预定义变量参数EXTRA_DRIVER_OPTS
添加对应的值.
操作步骤
1、在manager上面给预定义变量参数EXTRA_DRIVER_OPTS
添加对应的值:
添加以下参数(注意要指定xml文件配置的绝对路径,inceptor1为当前inceptor名):
-Dspark.scheduler.mode=FAIR -Dspark.scheduler.allocation.file=/etc/inceptor1/conf/fair.xml
2、manager上面添加mapred.fairscheduler.pool
:
页面上配置上面的变量mapred.fairscheduler.pool的值(value=fair1),变量值fair1与fair.xml中配置的保持一致。
例子:
mapred.fairscheduler.pool
pool_etl
hive-site.xml
3、确保当前inceptor.scheduler.enabled
值为false
:
4、配置服务重启inceptor:
先点击配置服务,待完成后重启inceptor。
5.X版本先执行停止,再启动,6.X版本可以直接重启
5、登录4040页面查看当前Schedule是否为Fair: