You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hive执行过程中如何在不终止运行作业的前提下调整任务优先级?

Hive运行中作业优先级调整方案(无需终止长耗时作业)

Hive作业本身不直接管控运行时资源分配,优先级调度由底层资源调度器(绝大多数生产集群为YARN)和计算引擎共同实现,不终止运行中作业调整优先级完全可行,具体操作按集群调度类型区分:

  • 若集群使用Capacity Scheduler(容量调度器,生产环境最常用)
    1. 先执行yarn application -appStates RUNNING -list获取两个作业对应的YARN Application ID
    2. 调高紧急作业优先级:执行yarn application -updatePriority <高优数值,建议设为5-10,默认优先级为0,数值越高优先级越高> -applicationId <紧急作业ID>
    3. 可选调低长耗时作业优先级:执行yarn application -updatePriority -1 -applicationId <长作业ID>
    4. 若集群配置了独立高优资源队列,可直接将紧急作业迁移至高优队列:yarn application -moveToQueue <高优队列名> -applicationId <紧急作业ID>
      调度器触发资源抢占时不会终止长作业,仅临时收回部分Container资源分配给高优作业,紧急作业运行完成后,资源会自动归还长作业继续执行,中间计算进度不会丢失。
  • 若集群使用Fair Scheduler(公平调度器)
    操作命令和容量调度器一致,通过yarn application -updatePriority调整两个作业的权重值即可,调度器会自动按新的权重比例重新分配集群资源,全程无作业中断。
  • 若集群使用FIFO Scheduler(单队列先进先出调度,极少用于生产环境)
    该调度模式不支持运行中作业动态调整优先级,建议后续提交作业时提前划分资源队列,避免大作业独占单队列资源阻塞紧急任务。

注意事项:

  • 上述调整操作需要对应队列的管理权限,普通用户可联系集群运维执行,操作全程不会终止任何运行中作业
  • 若Hive作业运行在Spark、Tez引擎上,YARN层面的优先级调整会自动生效,无需额外在引擎层做配置
  • 资源抢占仅会回收空闲或可释放的计算资源,不会删除长作业已写入HDFS的中间临时结果,不存在进度丢失问题

内容的提问来源于stack exchange,提问作者Memphis Meng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 21:42:16