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

クラスターにシャードを追加する

項目一覧

  • Considerations
  • クラスターにシャードを追加する

クラスターを作成した後、またはクラスターに容量を追加する必要があるときに、 シャーディングされたクラスターにシャードを追加します。 シャーディングされたクラスターを作成していない場合は、「自己管理型のシャーディングされたクラスターの配置 」を参照してください。

すべてのシャードはレプリカセットである必要があります。

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

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

クラスターにシャードを追加する場合は、正規表現のトラフィックに影響を与えずに、クラスターのバランスを取るために必要な移行をサポートするのに十分なキャパシティーがあることを常に確認してください。

シャーディングされたクラスターを操作するには、 mongosインスタンスに接続します。

  1. mongoshで、 mongosインスタンスに接続します。 たとえば、ポート27017mongos0.example.netmongosにアクセスできる場合は、次のコマンドを発行します。

    mongosh --host mongos0.example.net --port 27017
  2. 以下の例に示すように、 sh.addShard()メソッドを使用してシャード レプリカセットをクラスターに追加します。 シャードごとにsh.addShard()を個別に発行します。 レプリカセットとレプリカセットのノードの名前を指定します。

    注意

    任意

    代わりに、シャードの名前と最大サイズを指定できるaddShardデータベースコマンドを使用できます。 これらを指定しない場合、MongoDB は名前と最大サイズを自動的に割り当てます。 データベースコマンドを使用するには、 addShardを参照してください。

    次の例では、 sh.addShard()を使用してシャードを追加する方法を示しています。

    mongodb0.example.netのポート27018で実行中のノードを含む、 rs1という名前のシャード レプリカセットを追加するには、次のコマンドを実行します。

    sh.addShard( "rs1/mongodb0.example.net:27018" )

    注意

    チャンクが新しいシャードに移行するまでに時間がかかる場合があります。

戻る

クラスター構成の表示