MongoDB シャーディングを開始

MongoDB シャーディングを開始

単一の mongodb サーバーをシャード クラスターに移動する場合、3 つの構成サーバーが必要なことはわかっています。すべてが 1 つの EXSi サーバー上にあるため、3 つの小さな構成サーバー VM と 2 つの追加 VM を mongod サーバー用に設定するのが本当に推奨される方法であるかどうかをお聞きしたいです。構成サーバーの OS だけで 300 MB の RAM (またはそれくらい) を消費することを考えると、これは理にかなっていますか? 代わりに、構成サーバーに 1 つの VM と 3 つの Docker コンテナーを使用するのは良い考えですか? また、mongos ルーターは 2 つのデータ ノードにインストールするべきでしょうか、それとも構成サーバーが稼働しているサーバーにインストールするべきでしょうか? シャードされた mongo クラスターに最低でもいくつの VM が必要なのかという質問をまとめましょう。

あるいは、Ubuntu Snappy Core も選択肢でしょうか?

答え1

設定する場合はラボ環境リソース使用量を好きなだけ節約できます。コンテナ/Dockerを使用するというアイデアは、ラボ環境(コンテナを異なる物理ホストに分散すれば、prod 版でも可能です)。

mongodシャード環境の最小プロセス数は9です構成レプリカ セットに 3 つ、シャード内の (最低) 2 つのレプリカ セットごとに 3 つ。

「分散」とは、異なるマシンで実行できることを意味しますが、必須ではありません。異なるポートを使用して、単一の物理ホストで 9 つの mongod プロセスすべてを実行することもできます...

ルーター プロセスに関しては、mongosクライアント アプリにできるだけ近い場所で実行する必要があります。つまり、mongosmongo を使用するアプリケーションがある各 VM に 1 つずつ配置します。

終わりに。ラボ環境単一の ESXi ノードを使用して学習環境以外のものを構築する場合は、前提を検討する必要があると思います。

関連情報