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