16

Apache Mesos の「マスター」ノードを Mesos の「スレーブ」ノードと同じマシンに配置できますか? 同様に (高可用性 (HA) デプロイの場合)、Mesos の「マスター」選出で使用される Apache Zookeeper ノードを Mesos の「スレーブ」ノードと同じマシンにデプロイできますか?

Mesos は HA 展開に 3 つの「マスター」を使用することを推奨し、Zookeeper は定足数選択システムに 5 つのノードを使用することを推奨しています。これらのサービスを Mesos の「スレーブ」プロセスと並行して実行することは、8 台のマシンを実質的に「非生産的な」タスクに割り当てるのではなく、望ましいことです。

そのような設定が可能である場合、そのような設定の長所/短所は何ですか?

ありがとう!

4

1 に答える 1

31

マスター、スレーブ、および zk プロセスをすべて同じノードで確実に実行できます。それぞれに固有のポートを指定すれば、複数のマスター プロセスとスレーブ プロセスを同じノードで実行することもできますが、これはテスト クラスターでのみ役立ちます。

通常、マスターと同じノードで ZK を実行することをお勧めしますが、余分な ZK がある場合は、すべてのマスター/スレーブ/フレームワーク ノードが実行できる限り、それらをスレーブで実行するか、必要に応じて組み合わせて実行できます。 ZK ノードに到達し、すべてのスレーブがマスターに到達できます。

小規模なクラスター (<10 ノード) の場合、特にスタンバイ マスターはあまり機能しないため、各マスターでスレーブ プロセスを実行することは理にかなっています。小規模なクラスターのアクティブ マスターでさえ、少量の CPU、メモリ、およびネットワーク リソースしか使用しません。そのスレーブの --resources を調整して、マスターのリソース使用量を考慮してください。

クラスターが大きくなると (特にノードが 100 を超える場合)、マスターとの間のネットワーク トラフィックと CPU/メモリの使用率が大きくなり、マスターと同じノードで mesos スレーブを実行したくなくなります。大規模であっても、ZK をマスターと同じ場所に配置しても問題ありません。

特に質問はありませんでしたが、フレームワーク スケジューラを実行する場所 (Spark、Marathon、Chronos など) についても説明します。これらは他のコンポーネントと同じ場所に配置できますが、スレーブへのすべての通信はマスターを経由するため、実際にはマスター ノードと zk ノードに到達できる必要があるだけです。マスター ノードでスケジューラを実行する顧客もいれば、エッジ ノードで実行する (ユーザーがスレーブにアクセスできないようにする) 顧客もいれば、Marathon などのメタ フレームワークを使用してスレーブで他のスケジューラを Mesos タスクとして実行する顧客もいます。

于 2014-10-30T07:57:31.640 に答える