クラスターを作成した後、またはクラスターに容量を追加する必要があるときに、 のシャーディングされたクラスターにシャードを追加します。 シャーディングされたクラスターを作成していない場合は、「自己管理型のシャーディングされたクラスターの配置 」を参照してください。
すべてのシャードはレプリカセットである必要があります。
Considerations
バランシング
シャーディングされたクラスターにシャードを追加すると、既存のすべてのシャーディングされたコレクションのクラスターのシャード間のチャンクのバランスに影響します。 バランサーはチャンクの移行を開始し、クラスターがバランスをとります。 詳細については、「バランサーの内部」を参照してください。
キャパシティー プランニング
クラスターにシャードを追加する場合は、正規表現のトラフィックに影響を与えずに、クラスターのバランスを取るために必要な移行をサポートするのに十分なキャパシティーがあることを常に確認してください。
クラスターにシャードを追加する
シャーディングされたクラスターを操作するには、 mongosインスタンスに接続します。
mongoshで、mongosインスタンスに接続します。 たとえば、ポート27017のmongos0.example.netでmongosにアクセスできる場合は、次のコマンドを発行します。mongosh --host mongos0.example.net --port 27017 以下の例に示すように、
sh.addShard()メソッドを使用してシャード レプリカセットをクラスターに追加します。 シャードごとにsh.addShard()を個別に発行します。 レプリカセットとレプリカセットのノードの名前を指定します。注意
任意
代わりに、シャードの名前と最大サイズを指定できる
addShardデータベースコマンドを使用できます。 これらを指定しない場合、MongoDB は名前と最大サイズを自動的に割り当てます。 データベースコマンドを使用するには、addShardを参照してください。次の例では、
sh.addShard()を使用してシャードを追加する方法を示しています。mongodb0.example.netのポート27018で実行中のノードを含む、rs1という名前のシャード レプリカセットを追加するには、次のコマンドを実行します。sh.addShard( "rs1/mongodb0.example.net:27018" ) 注意
チャンクが新しいシャードに移行するまでに時間がかかる場合があります。