Yarn Capacity Scheduler:在用户和队列之间共享资源
Yarn Capacity Scheduler: Share resource between users and queues
我在设置以下调度程序队列参数时遇到了一些问题:
有 2 个队列 Dev 和 Prod
根 100%
开发 30%
生产率 70%
(如果只有一个使用它应该作为集群的 100%)
每个队列由多个用户使用,资源应该平均共享,但是当只有一个用户存在时(在每个队列中)它应该使用队列的全部容量。如果用户单独在集群中,它应该使用 100% 的集群以防第二个用户加入,调度程序应该共享可用资源
我现在有什么,示例流程:
集群没有作业
user 队列 Dev 的提交作业。 (它现在使用 100% 的集群)
用户 B 在队列 Dev 提交作业(它挂在已接受并等待第一个作业完成)
我想要的:
在这种情况下,因为第二个作业在同一个队列中,每个作业都应该接收队列的 50%,即集群的 100%。
然后,如果另一个作业进入 Prod 队列(Prod 上的 2 个作业将共享 70%(每个作业 35%),Dev 上的一个作业将共享 30%)
在另一种情况下,如果作业进入另一个队列(总共 1 个),则容量应为 30,70
基于 Apache Ambari
版本 2.6.1.5
作业 B 必须等待作业 A 完成。据我所知,没有办法在同一个 YARN 队列上重新分配负载。
如果您启用了抢占 (https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.5/bk_yarn-resource-management/content/preemption.html),生产作业将被优先考虑并且应该占用 70% 的资源。至于开发队列,先到先得..
正如哈罗德所说
there’s no way to redistributed the load on the same YARN queue
但是如果你在里面为每个用户创建子队列它可以工作,但是你必须为每个用户管理它,(我们是小公司并且用户很少所以它可管理)
- 根 100%
- 生产率 70%
- user1 25%(70 人中的 25 人)
- user2 25%(70 人中的 25 人)
- 用户 3 25%(70 人中的 25 人)
- user4 25%(70 人中的 25 人)
我在我们的网格上配置了这个场景,但仍在寻找更好的方法
我在设置以下调度程序队列参数时遇到了一些问题:
有 2 个队列 Dev 和 Prod
根 100%
开发 30%
生产率 70%
(如果只有一个使用它应该作为集群的 100%)
每个队列由多个用户使用,资源应该平均共享,但是当只有一个用户存在时(在每个队列中)它应该使用队列的全部容量。如果用户单独在集群中,它应该使用 100% 的集群以防第二个用户加入,调度程序应该共享可用资源
我现在有什么,示例流程:
集群没有作业
user 队列 Dev 的提交作业。 (它现在使用 100% 的集群)
用户 B 在队列 Dev 提交作业(它挂在已接受并等待第一个作业完成)
我想要的:
在这种情况下,因为第二个作业在同一个队列中,每个作业都应该接收队列的 50%,即集群的 100%。
然后,如果另一个作业进入 Prod 队列(Prod 上的 2 个作业将共享 70%(每个作业 35%),Dev 上的一个作业将共享 30%)
在另一种情况下,如果作业进入另一个队列(总共 1 个),则容量应为 30,70
基于 Apache Ambari
版本 2.6.1.5
作业 B 必须等待作业 A 完成。据我所知,没有办法在同一个 YARN 队列上重新分配负载。
如果您启用了抢占 (https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.5/bk_yarn-resource-management/content/preemption.html),生产作业将被优先考虑并且应该占用 70% 的资源。至于开发队列,先到先得..
正如哈罗德所说
there’s no way to redistributed the load on the same YARN queue
但是如果你在里面为每个用户创建子队列它可以工作,但是你必须为每个用户管理它,(我们是小公司并且用户很少所以它可管理)
- 根 100%
- 生产率 70%
- user1 25%(70 人中的 25 人)
- user2 25%(70 人中的 25 人)
- 用户 3 25%(70 人中的 25 人)
- user4 25%(70 人中的 25 人)
我在我们的网格上配置了这个场景,但仍在寻找更好的方法