繁体   English   中英

Yarn Capacity Scheduler:在用户和队列之间共享资源

[英]Yarn Capacity Scheduler: Share resource between users and queues

我有一些问题设置以下调度程序队列params:

有2个队列Dev和Prod

  • 根100%

    • 开发30%

    • 产品70%

(如果只使用一个它应该作为集群的100%)

每个队列由多个用户使用,资源应该平等共享,但是当只有一个用户(在每个队列中)时,它应该使用队列的整个容量。 如果用户单独在群集中,则在第二次用户加入时应使用100%的群集,调度程序应共享可用资源

我现在拥有的,示例流程:

  1. 集群没有工作

  2. 用户队列Dev中的提交作业。 (它现在使用100%的集群)

  3. 用户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%的资源。 至于开发队列,先进入,先服务..

正如哈罗德所说

没有办法在同一个YARN队列上重新分配负载

但是如果你为每个用户制作子队列它可以工作,但你必须为每个用户管理它(我们是小公司,用户很少,所以它可以管理)

  • 根100%
  • 产品70%
    • user1 25%(70个中的25个)
    • user2 25%(70个中的25个)
    • user3 25%(70个中的25个)
    • user4 25%(70个中的25个)

我在网格上配置了这个场景,但仍在寻找更好的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM