弹性扩缩容定时任务
弹性扩缩容定时任务使用场景
通常,用户业务繁忙的场景是有周期性的,在某个周期内,用户需要更多的计算资源来处理业务,过了这个周期,则不需要那么多资源。如果用户购买的队列规格比较小,在业务繁忙时会存在资源不足的情况;而如果购买的队列规格比较大,又可能会存在资源浪费的情况。
基于以上场景,DLI提供了队列弹性扩缩容定时任务功能。用户可以根据自己的业务周期或者使用情况,基于现有队列规格,在不同的时间或者周期内设置不同的队列大小,以满足自己的业务需求,节约成本。
使用弹性扩缩容定时任务注意事项
- 新创建的队列需要运行作业后才可进行扩缩容。
- 目前只支持规格为64CUs以上的队列进行定时弹性扩缩容任务,即队列最小规格为64CUs。
- 对于每个队列,最多支持创建12个定时任务。
- 每个定时任务开始时,弹性扩缩容的实际开始的时间有5分钟误差。建议扩容时间定时至少比实际使用队列的时间提前20分钟。
- 每个定时任务之间需要至少有2小时的间隔。
- 队列的定时弹性扩缩容属于耗时操作,变更所消耗的时间取决于扩缩容目标规格与当前规格的差值大小,用户在“队列管理”页面中可以查看当前队列的规格。
- 如果当前队列有作业正在运行时,可能无法缩容到目标CU值,而是缩容到当前队列规格和目标规格中间的某个值,系统将在1小时后继续尝试进行缩容,直至下一个定时任务开始。
- 当一个定时任务没有扩容或者缩容到目标CU值时,系统会在约15分钟后再次触发扩缩计划,直到下一个定时任务开始。
创建弹性扩缩容定时任务
- 如果只设定扩容或者缩容,只需创建一个弹性扩缩容定时任务。设定“任务名称”、“最终CUs”和“执行时间”即可,具体请参考表1。
- 如果需要同时设定扩容和缩容,则需要创建两个弹性扩缩容定时任务,分别设定扩容和缩容的“任务名称”、“最终CUs”和“执行时间”,具体请参考表1。
操作步骤如下:
- 在DLI管理控制台左侧,选择“资源管理 > 队列管理”。
- 选择需要设置弹性扩缩容定时任务的队列,单击“操作”列“更多”中的“弹性扩缩容定时任务”。
- 在“弹性扩缩容定时任务”页面,单击右上角的“创建定时任务”。
- 在“创建定时任务”页面,设置参数。单击“确定”。
表1 参数说明 参数名称
描述
任务名称
输入定时任务的名称。
- 只能包含数字、英文字母和下划线,但不能是纯数字,不能以下划线开头,且不能为空。
- 输入长度不能超过128个字符。
激活任务
激活队列扩缩容定时任务。默认开启。如果关闭,则系统不会触发执行当前设置的定时规格变更任务。
有效期
设置执行定时任务的时间段。包括“日期”和“时间”。如果没有时间段的限制,该参数值为空即可,表示永久生效,如果用户需要指定当前任务的生效时间段,可根据业务需要进行选择。
说明:- “有效期”中的“开始时间”需要晚于当前的系统时间。
- 如果只设置了扩容,在“有效期”结束之后,系统不会自动缩容,需要手动修改或设置缩容定时任务。反之亦然。即为单次执行定时扩缩容。
- 如果同时设置了扩容和缩容,在有效期内会按照设定扩缩容,在“有效期”结束之后,将保持最后一次设定的队列规格。
实际CUs
队列扩容或缩容前的规格。
最终CUs
队列扩容或缩容后的规格。
说明:- 系统默认队列最大规格为512CUs。
- 进行定时扩缩容操作的队列最小规格为64CUs,即当“实际CUs”小于64CUs时,不能进行定时扩缩容。
- 最终规格只能为16的倍数。
重复规律
选择执行定时扩缩容的周期。定时任务的“重复规律”支持按周为周期进行调度。- 默认不选,表示“不重复”,即只在“执行时间”执行一次;
- 如果全选,表示该计划每天都会执行;
- 如果选择部分,则选择规律的计划在对应的时间每周都会被执行一次。
说明:- 如果只是单次执行扩容或者缩容,无需选择“执行周期”。
- 如果同时设置了扩缩容,可根据需要选择“执行周期”,还可与“有效期”进行配合使用。
执行时间
执行定时扩容或者缩容的时间。
- 每个定时任务开始时,弹性扩缩容的实际开始的时间有5分钟误差。建议扩容时间定时至少比实际使用队列的时间提前20分钟。
- 每个定时任务之间需要至少有2小时的间隔。
定时任务创建后,可以在“弹性扩缩容定时任务”页面查看当前队列的规格变化情况,以及计划最近一次的执行时间。
或者在“队列管理”页面,查看“规格”大小是否改变来判断是否扩缩容成功。
或者在“作业管理”页面,查看“SCALE_QUEUE”类型作业的状态,如果作业状态为“规格变更中”,表示队列正在扩缩容中。
修改弹性扩缩容定时任务
如果设定的定时任务不再满足业务需求,可以在“弹性扩缩容定时任务”页面,单击对应定时任务“操作”列中的“修改”,进入“创建定时任务”页面进行修改。
删除弹性扩缩容定时任务
如果不再需要定时修改队列规格,可以在“弹性扩缩容定时任务”页面,单击对应定时任务“操作”列中的“删除”,进入“删除定时任务”页面,单击“是”,进行删除。