0
我想了解mesos中不同角色的权重概念。我为role1赋予了2.0的权重,为role2赋予了5.0的权重,并在mesos集群中启动了spark框架并请求相同数量的资源。我没有看到为这两个角色分配资源的方式发生了任何变化。所以我想知道给权重的重要性,并用权重来展示资源预留的一个例子。权重对于apache mesos中的不同角色有什么意义
我想了解mesos中不同角色的权重概念。我为role1赋予了2.0的权重,为role2赋予了5.0的权重,并在mesos集群中启动了spark框架并请求相同数量的资源。我没有看到为这两个角色分配资源的方式发生了任何变化。所以我想知道给权重的重要性,并用权重来展示资源预留的一个例子。权重对于apache mesos中的不同角色有什么意义
从TYPED_TEST(MasterAllocatorTest, RebalancedForUpdatedWeights)
此测试确保了资源分配根据所述更新的权重正确地重新平衡。
cpus=6, mem=3072
。role1
它使用默认权重(1.0), 和所有的资源将提供给这个框架,因为它是唯一 框架至今运行。Framework2注册role2
它也使用默认权重。 由于所有资源在框架1注册时都有未完成的优惠 ,因此它不会得到任何优惠。
role1 share = 1 (cpus=6, mem=3072)
Framework1 share = 1
role2 share = 0
Framework2 share = 0
期待优惠被取消。
role2
的权重更新为2.0。 updateWeights
将撤销所有未完成的优惠,撤销的优惠资源只有在调用另一次分配后才可用于更新的权重。触发批量分配。
role1 share = 0.33 (cpus=2, mem=1024)
Framework1 share = 1
role2 share = 0.66 (cpus=4, mem=2048)
Framework2 share = 1
我理解直到步骤9更新权重。之后,如何触发批量分配? –
您可以更改[allocation_interval](https://github.com/apache/mesos/blob/f1d0cdf1db2a28fa44f7aded0c3760636c0a51de/src/master/flags.cpp#L195) – janisz