2017-01-23 30 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