2017-01-23 3 views
0

mesosのさまざまな役割に対する重みの概念を理解したいと思います。私はrole1に2.0の重みを付け、role2に5.0の重みを与え、mesosクラスタでsparkフレームワークを開始し、同じ量のリソースを求めました。私は、リソースが2つの役割のために割り当てられた方法に何の変化も見ませんでした。だから私はウェイトを与えることの重要性を知り、ウェイトを使ってリソース予約の例を示したかったのです。apache mesosの異なる役割に対する重みの意義

答えて

1

TYPED_TEST(MasterAllocatorTest, RebalancedForUpdatedWeights)から、このテストでは、リソースの割り当てが正しく更新された重みに応じてリバランスされていることを保証します。

  1. メゾスマスターを開始してください。
  2. 同じリソースを持つ3つのエージェントを登録します。
  3. エージェントを強制的に登録するためのアドバンスクロック。
  4. 合計クラスタリソース(3つのエージェント):cpus=6, mem=3072。それは、これまで実行しているだけ フレームワークであるため
  5. Framework1デフォルトの重み(1.0)を使用していますrole1、 に登録され、すべてのリソースは、このフレームワークに提供されます。
  6. フレームワーク2は、デフォルトの重みも使用する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

I重みを更新するためにステップ9まで理解されます。その後、バッチ割り当てを開始する方法は? –

+0

[allocation_interval](https://github.com/apache/mesos/blob/f1d0cdf1db2a28fa44f7aded0c3760636c0a51de/src/master/flags.cpp#L195)を変更することができます。 – janisz

関連する問題