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>",
name: "<shard_name>"
}
)

注意

バージョン6.2以降、 MongoDB はaddShardコマンドからmaxSizeフィールドを削除します。 以下はその結果です。

  • maxSizeフィールドでaddShardを実行するとInvalidOptionsエラーが返されます。

  • shards コレクション内の新しいドキュメントには、maxSize フィールドは含まれなくなりました。

  • 既存の maxSize フィールド エントリはすべて無視されます。

このコマンドには次のフィールドが含まれています。

フィールド
タイプ
説明
addShard
string

シャードのレプリカセットの少なくとも 1 つのノードのレプリカセット名、ホスト名、ポート。 追加のレプリカセット ノードのホスト名は、カンマで区切る必要があります。 例:

<replica_set>/<hostname><:port>,<hostname><:port>, ...
name
string
任意。 シャードの名前。 これが指定されていない場合、MongoDB は自動的に一意の名前を付与します。

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

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

重要

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

クラスターが DDL操作( reshardCollectionなどのコレクションを変更する操作)を実行しているときにシャードを追加する場合、 addShardは同時 DDL操作が完了した後にのみ実行されます。

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

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

警告

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

戻る

中止UnshardCollection