MongoDB8.0 以降では、通常の シャーディングされたクラスターのメタデータデータ に加えて、アプリケーションデータを保存するようにコンフィギュレーションコンフィギュレーションサーバーを構成できます。アプリケーションデータを保存するコンフィギュレーションコンフィギュレーションサーバーは、 コンフィギュレーションシャード または 埋め込みコンフィギュレーションコンフィギュレーションサーバーと呼ばれます。
レプリカセットを コンフィギュレーションコンフィギュレーションサーバーが埋め込まれたシャーディングされたシャーディングされたクラスターに変換すると、以下の削減が可能です。
配置に必要なノードの数。
単一シャード クラスターを維持するための複雑さ。
このタスクについて
レプリカセットを直接コンフィギュレーションシャードに変換することはできません。 レプリカセットを埋め込みコンフィギュレーションサーバーに変換するには、以下の手順を実行する必要があります。
レプリカセットを 専用の コンフィギュレーションコンフィギュレーションサーバーを使用してシャーディングされたシャーディングされたクラスターに変換します。
transitionFromDedicatedConfigServerコマンドを使用して、専用のコンフィギュレーションコンフィギュレーションサーバーをコンフィギュレーションシャードとして実行するように構成します。transitionFromDedicatedConfigServerコマンドは、コンフィギュレーションコンフィギュレーションサーバーをクラスターにシャードとして追加します。
コンフィギュレーションシャード を追加した後、クラスター内のシャードの数を減らします。
アクセス制御
アクセス制御が有効になっている場合、transitionFromDedicatedConfigServer transitionFromDedicatedConfigServerコマンドにはクラスターの 認可アクションが必要です。
clusterManagerロールにはtransitionFromDedicatedConfigServer 認可アクションがあり、ユーザーに割り当てることができます。
手順
次の例では、自己管理型レプリカセットを、レプリカセットの既存のユーザー データを含むコンフィギュレーションシャードに変換します。
レプリカセットを専用のコンフィギュレーションコンフィギュレーションサーバーでシャーディングされたシャーディングされたクラスターに変換
このチュートリアルでは、自己管理型レプリカセットを シャーディングされたシャーディングされたクラスターに変換する 方法を知っていることを前提としています。 手順について詳しくは、「 自己管理型レプリカセットをシャーディングされたシャードクラスタに変換する 」を参照してください。
コンフィギュレーコンフィギュレーションサーバーがコンフィギュレーションシャードになったことを確認する
シャーディングされたクラスターがコンフィギュレーションシャードを使用していることを確認するには、次のいずれかの方法を使用します。
mongoshでsh.isConfigShardEnabled()メソッドを実行します。sh.isConfigShardEnabled()の出力にenabled: trueが含まれている場合、クラスターはコンフィギュレーションシャードを使用します。出力にenabled: falseが含まれている場合、クラスターはコンフィギュレーションシャードを使用しません。listShardsadminに接続している間に データベースに対して コマンドを実行し、mongosが_id"config"に設定されているドキュメントの出力を調べます。listShardsの出力に、_idが"config"に設定されているドキュメントが含まれていない場合、クラスターはコンフィギュレーションシャードを使用しません。
次の例では、 listShards コマンドを実行し、_id が "config" に設定されているドキュメントを検索しようとします。
db.adminCommand({ listShards: 1 })["shards"].find(element => element._id === "config")
この例では 、返されたドキュメントには、_id が "config" に設定されており、これはこのクラスターが コンフィギュレーションシャード を使用していることを確認しています。
{ _id: "config", host: "configRepl/localhost:27018", state: 1, topologyTime: Timestamp({ t: 1732218671, i: 13 }), replSetConfigVersion: Long('-1') }
注意
バランサーがを実行中している場合は、シャード間でデータが自動的に移行されます。それ以外の場合は、moveCollection またはmoveChunk コマンドを使用してデータを手動で分散します。
クラスター内のシャードの数を 1 に減らします
コンフィギュレーションシャードを追加した後にクラスターを単一シャードに縮小するには、 コマンドを使用してシャーディングされていないコレクションをすべてコンフィギュレーションシャードに移動し、moveCollection コマンドを使用してクラスター内の最初のシャードを削除します。removeShardこの手順では、クラスターを単一の構成シャードに縮小します。
クラスター内のシャードを削除する完全な手順については、「 シャーディングされたシャードクラスタからシャードを削除する 」を参照してください。