Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

addShard (comando de base de datos)

addShard

Agrega un set de réplicas de partición a un clúster particionado.

Tip

En mongosh, este comando también puede ejecutarse a través del método asistente sh.addShard().

Los métodos asistente son convenientes para usuarios de mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Nota

Este comando no es compatible con MongoDB Atlas. Consulte Modificar su clúster de Atlas para agregar o remover particiones de su clúster de Atlas.

El comando tiene la siguiente sintaxis:

db.adminCommand(
{
addShard: "<replica_set>/<hostname><:port>",
name: "<shard_name>"
}
)

Nota

A partir de la versión 6.2, MongoDB remueve el campo maxSize del comando addShard. Como resultado:

  • Ejecutar addShard con el campo maxSize devuelve un error InvalidOptions.

  • Los nuevos documentos en la colección shards ya no incluyen el campo maxSize.

  • Se ignoran todas las entradas de campo maxSize preexistentes.

El comando contiene los siguientes campos:

Campo
Tipo
Descripción

addShard

string

El nombre del set de réplicas, el nombre de host y el puerto de al menos un nodo del set de réplicas de la partición. Cualquier nombre de host adicional de miembro del set de réplicas debe estar separado por comas. Por ejemplo:

<replica_set>/<hostname><:port>,<hostname><:port>, ...

name

string

opcional. Un nombre para la partición. Si esto no se especifica, MongoDB proporciona automáticamente un nombre único.

El comando addShard almacena la información de la configuración de particiones en la base de datos de configuración. Siempre ejecute addShard cuando use la base de datos admin.

La partición que agregues al clúster debe estar vacía.

Al añadir una partición a un clúster, se afecta el equilibrio de los fragmentos entre las particiones de un clúster para todas las colecciones particionadas existentes. El equilibrador comenzará a migrar fragmentos para lograr el equilibrio en el clúster. Consulta Balancer Internals para más información.

Importante

No se puede incluir un miembro oculto en la lista de nodos iniciales proporcionada en addShard.

Si añades una partición mientras tu clúster ejecuta una operación DDL (operación que modifica una colección como reshardCollection), addShard solo se ejecuta después de que finalice la operación DDL concurrente.

Debes tener el addShard acción en un recurso de clúster para ejecutar el comando addShard. Los clusterAdmin o los clusterManager roles de funcionalidad incorporada contienen la acción addShard y otorgan privilegios para ejecutar el comando addShard.

El siguiente comando añade un set de réplicas como partición:

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

Advertencia

No utilices localhost como nombre de host a menos que tu servidor de configuración también esté ejecutándose en localhost.

Volver

abortUnshardCollection

En esta página