2017-01-23 31 views
0

我想了解mesos中不同角色的权重概念。我为role1赋予了2.0的权重,为role2赋予了5.0的权重,并在mesos集群中启动了spark框架并请求相同数量的资源。我没有看到为这两个角色分配资源的方式发生了任何变化。所以我想知道给权重的重要性,并用权重来展示资源预留的一个例子。权重对于apache mesos中的不同角色有什么意义

回答

1

TYPED_TEST(MasterAllocatorTest, RebalancedForUpdatedWeights)

此测试确保了资源分配根据所述更新的权重正确地重新平衡。

  1. 启动Mesos master。
  2. 注册具有相同资源的三个代理。
  3. 提前时钟强制代理商注册。
  4. 总集群资源(3个代理):cpus=6, mem=3072
  5. 框架1寄存器与role1它使用默认权重(1.0), 和所有的资源将提供给这个框架,因为它是唯一 框架至今运行。
  6. Framework2注册role2它也使用默认权重。 由于所有资源在框架1注册时都有未完成的优惠 ,因此它不会得到任何优惠。

    role1 share = 1 (cpus=6, mem=3072) 
        Framework1 share = 1 
    role2 share = 0 
        Framework2 share = 0 
    
  7. 期待优惠被取消。

  8. role2的权重更新为2.0。 updateWeights将撤销所有未完成的优惠,撤销的优惠资源只有在调用另一次分配后才可用于更新的权重。
  9. 触发批量分配。

    role1 share = 0.33 (cpus=2, mem=1024) 
        Framework1 share = 1 
    role2 share = 0.66 (cpus=4, mem=2048) 
        Framework2 share = 1 
    
+0

我理解直到步骤9更新权重。之后,如何触发批量分配? –

+0

您可以更改[allocation_interval](https://github.com/apache/mesos/blob/f1d0cdf1db2a28fa44f7aded0c3760636c0a51de/src/master/flags.cpp#L195) – janisz