addShard
定義
addShard
のシャーディングされたクラスターにシャード レプリカセットを追加します。
Tip
mongosh
では、このコマンドはsh.addShard()
ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongosh
ユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドはサーバーレスインスタンスではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.adminCommand( { addShard: "<replica_set>/<hostname><:port>", name: "<shard_name>" } )
コマンドフィールド
注意
このコマンドには次のフィールドが含まれています。
フィールド | タイプ | 説明 | |
---|---|---|---|
| string | シャードのレプリカセットの少なくとも 1 つのノードのレプリカセット名、ホスト名、ポート。 追加のレプリカセット ノードのホスト名は、カンマで区切る必要があります。 例:
| |
| string | 任意。 シャードの名前。 これが指定されていない場合、MongoDB は自動的に一意の名前を付与します。 |
addShard
コマンドは、 構成データベースにシャード構成情報を保存します。 admin
データベースを使用する場合は、常にaddShard
を実行してください。
Considerations
バランシング
シャーディングされたクラスターにシャードを追加すると、既存のすべてのシャーディングされたコレクションのクラスターのシャード間のチャンクのバランスに影響します。 バランサーはチャンクの移行を開始し、クラスターがバランスをとります。 詳細については、「バランサーの内部」を参照してください。
非表示メンバー
DDL 操作
クラスターが DDL操作( reshardCollection
などのコレクションを変更する操作)を実行しているときにシャードを追加する場合、 addShard
は同時 DDL操作が完了した後にのみ実行されます。
例
次のコマンドは、レプリカセットをシャードとして追加します。
use admin db.runCommand( { addShard: "repl0/mongodb3.example.net:27327"} )
警告
コンフィギュレーションサーバーもlocalhost
で実行されていない限り、ホスト名にlocalhost
を使用しないでください。