MongoDBインスタンスは、さまざまな役割を持つことができます。
- 構成サーバー
- ルーター(モンゴス)
- データサーバー
- アービターサーバー(レプリカセット用)
db.serverStatus()
インスタンスがルーターであるかどうかを確認するために使用できることはわかっています。process
値はmongos
です。ただし、構成サーバー、アービター、およびデータノードの場合、process
値はmongod
です。
これらのインスタンスタイプを区別する簡単な方法はありますか?
MongoDBインスタンスは、さまざまな役割を持つことができます。
db.serverStatus()
インスタンスがルーターであるかどうかを確認するために使用できることはわかっています。process
値はmongos
です。ただし、構成サーバー、アービター、およびデータノードの場合、process
値はmongod
です。
これらのインスタンスタイプを区別する簡単な方法はありますか?
この質問に関する1つの特定の重要な問題に注意を向けたいと思います。シャーディングは水平方向の次元(データが分散されるいくつかのレプリカセット)であり、レプリカセットはさまざまなmongodノードの構成によって表される高可用性ソリューションです。
つまり、実際に理解しようとしているのは次のとおりです。
ReplicaSetの場合、知りたいのは各ノードの役割です。レプリカセットのすべてのノードに接続しなくても、次のコマンドを実行するだけで、情報を簡単に取得できます。
db.isMaster()
これにより、ノードメンバーと各メンバーのロールを取得できます。
シャードノードメンバーの場合、まず最初に、構成サーバーに直接接続しようとしないでください。これらは、シャードクラスター機能にのみ関連するチャンク、チャンク分割、およびその他の構成データの分散を管理するためのものです。これらのIPを使用してアプリケーションから接続することは避けてください。
したがって、どのメンバーがシャードクラスターを構成しているか、シャードの数などを明確に把握したい場合は、次のコマンドを実行する必要があります。
db.printShardStatus()
また
sh.status()
こちらのドキュメントを確認してください
乾杯、N。