Docs Menu
Docs Home
/
MongoDB マニュアル
/ / /

addShard

項目一覧

  • 定義
  • 互換性
  • 構文
  • Considerations
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 つのノードのレプリカセット名、ホスト名、ポート。 追加のレプリカセット ノードのホスト名は、カンマで区切る必要があります。 例:

<replica_set>/<hostname><:port>,<hostname><:port>, ...
maxSize
integer
任意。 シャード の最大サイズ(メガバイト単位)。 maxSize0に設定すると、MongoDB はシャードのサイズを制限しません。
name
string
任意。 シャードの名前。 これが指定されていない場合、MongoDB は自動的に一意の名前を付与します。

addShardコマンドは、 構成データベースにシャード構成情報を保存します。 adminデータベースを使用する場合は、常にaddShardを実行してください。

異なるディスク容量のマシンがある場合、または一部のシャードのデータ量を制限する場合は、 maxSizeを指定します。 maxSizeの制約により、シャードで totalSizeの実行から返されたlistDatabases maxSizeが の値を超える場合に、 バランサー はチャンクをシャードに移行できなくなります。

シャーディングされたクラスターにシャードを追加すると、既存のすべてのシャーディングされたコレクションのクラスターのシャード間のチャンクのバランスに影響します。 バランサーはチャンクの移行を開始し、クラスターがバランスをとります。 詳細については、「バランサーの内部」を参照してください。

チャンクの移行はディスク容量に影響を与える可能性があり、ソースシャードは移行されたドキュメントをデフォルトで自動的にアーカイブします。 詳細については、 moveChunkディレクトリを参照してください。

重要

に提供されるシードリストにaddShard 非表示メンバー を含めることはできません。

次のコマンドは、レプリカセットをシャードとして追加します。

use admin
db.runCommand( { addShard: "repl0/mongodb3.example.net:27327"} )

警告

コンフィギュレーションサーバーもlocalhostで実行されていない限り、ホスト名にlocalhostを使用しないでください。

戻る

abortReshardCollection