埋め込みコンフィギュレーションサーバーを使用してレプリカセットをシャーディングされたシャードクラスタに変換
MongoDB8.0 以降では、通常の シャーディングされたクラスターのメタデータデータ に加えて、アプリケーションデータを保存するようにコンフィギュレーションコンフィギュレーションサーバーを構成できます。アプリケーションデータを保存するコンフィギュレーションコンフィギュレーションサーバーは、 コンフィギュレーションシャード または 埋め込みコンフィギュレーションコンフィギュレーションサーバーと呼ばれます。
レプリカセットを コンフィギュレーションコンフィギュレーションサーバーが埋め込まれたシャーディングされたシャーディングされたクラスターに変換すると、以下の削減が可能です。
配置に必要なノードの数。
単一シャード クラスターを維持するための複雑さ。
このタスクについて
レプリカセットを直接コンフィギュレーションシャードに変換することはできません。レプリカセットを 埋め込みコンフィギュレーションサーバーに変換するには、以下の手順を実行する必要があります。
レプリカセットを 専用の コンフィギュレーションコンフィギュレーションサーバーを使用してシャーディングされたシャーディングされたクラスターに変換します。
transitionFromDedicatedConfigServer
コマンドを使用して、専用のコンフィギュレーションコンフィギュレーションサーバーをコンフィギュレーションシャードとして実行するように構成します。transitionFromDedicatedConfigServer
コマンドは、コンフィギュレーションコンフィギュレーションサーバーをクラスターにシャードとして追加します。
コンフィギュレーションシャード を追加した後、クラスター内のシャードの数を減らします。
アクセス制御
アクセス制御が有効になっている場合、transitionFromDedicatedConfigServer
transitionFromDedicatedConfigServer
コマンドにはクラスターの 認可アクションが必要です。
clusterManager
ロールにはtransitionFromDedicatedConfigServer
認可アクションがあり、ユーザーに割り当てることができます。
手順
次の例では、自己管理型レプリカセットを、レプリカセットセット の既存のユーザー データを含むコンフィギュレーションシャードに変換します。
レプリカセットを専用のコンフィギュレーションコンフィギュレーションサーバーでシャーディングされたシャーディングされたクラスターに変換
このチュートリアルでは、自己管理型レプリカセットを シャーディングされたシャーディングされたクラスターに変換する 方法を知っていることを前提としています。 手順について詳しくは、「 自己管理型レプリカセットをシャーディングされたシャードクラスタに変換する 」を参照してください。
コンフィギュレーコンフィギュレーションサーバーがコンフィギュレーションシャードになったことを確認する
シャーディングされたシャーディングされたクラスターがコンフィギュレーションシャードを使用していることを確認するには、listShards
admin
に接続している間に データベースに対して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
この手順では、クラスターを単一の構成シャードに縮小します。
クラスター内のシャードを削除する完全な手順については、「 シャーディングされたシャードクラスタからシャードを削除する 」を参照してください。