Agrega fragmentos a un Clúster fragmentado después de crearlo o cuando necesite agregarle capacidad. Si no ha creado un clúster fragmentado, consulte Implementar un clúster fragmentado autoadministrado.
Todos los fragmentos deben ser conjuntos de réplicas.
Considerations
Balanceo
Al añadir un fragmento a un clúster fragmentado, se modifica el equilibrio de fragmentos entre los fragmentos de un clúster para todas las colecciones fragmentadas existentes.El balanceador comenzará a migrar fragmentos para que el clúster alcance el equilibrio. Consulte "Funcionamiento interno del balanceador" para obtener más información.
Las migraciones de fragmentos pueden afectar el espacio en disco, ya que el fragmento de origen archiva automáticamente los documentos migrados de forma predeterminada. Para obtener más información, consulte moveChunk directorio.
Planificación de la capacidad
Al agregar una partición a un clúster, asegúrate siempre de que el clúster tenga suficiente capacidad para soportar la migración requerida para balancear el clúster sin afectar el tráfico legítimo de producción.
Agregar un fragmento a un clúster
Interactúa con un clúster fragmentado conectándose a una mongos instancia.
mongoshEn, conéctese a lamongosinstancia. Por ejemplo, simongosse puede acceder a un enmongos0.example.neten el27017puerto, ejecute el siguiente comando:mongosh --host mongos0.example.net --port 27017 Agregue un conjunto de réplicas de fragmentos al clúster mediante el método, como se muestra
sh.addShard()sh.addShard()en el ejemplo a continuación. Ejecute por separado para cada fragmento. Especifique el nombre del conjunto de réplicas y un miembro del conjunto.Nota
Opcional
En su lugar, puede usar el
addShardcomando de base de datos, que le permite especificar un nombre y un tamaño máximo para el fragmento. Si no los especifica, MongoDB asigna automáticamente un nombre y un tamaño máximo. Para usar el comando de base de datos,addShardconsulte.El siguiente ejemplo ilustra cómo agregar un fragmento
sh.addShard()con:Para agregar un conjunto de réplicas de fragmentos llamado
rs1con un miembro ejecutándose en el puerto27018enmongodb0.example.net, emita el siguiente comando:sh.addShard( "rs1/mongodb0.example.net:27018" ) Nota
Podría llevar algún tiempo que los fragmentos migren al nuevo fragmento.