ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Menu Docs

addShard

addShard

Adds a shard replica set to a cluster fragmentado.

Dica

Em mongosh, esse comando também pode ser executado por meio do método auxiliar sh.addShard().

Os métodos auxiliares são práticos para os usuários mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

Observação

This command is not supported in MongoDB Atlas. See Modify your Atlas Sharded Cluster to add or remove shards from your Atlas cluster,

O comando tem a seguinte sintaxe:

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

Observação

Starting in version 6.2, MongoDB removes the maxSize field from the addShard command. As a result:

  • Running addShard with the maxSize field returns an InvalidOptions error.

  • Novos documentos na collection shards não incluem mais o campo maxSize.

  • Quaisquer entradas de campo maxSize pré-existentes são ignoradas.

O comando contém os seguintes campos:

Campo
Tipo
Descrição

addShard

string

O nome do conjunto de réplicas, nome do host e porta de pelo menos um membro do conjunto de réplicas do shard. Quaisquer nomes de host do membro do conjunto de réplicas adicionais devem ser separados por vírgula. Por exemplo:

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

name

string

Optional. A name for the shard. If this is not specified, MongoDB automatically provides a unique name.

The addShard command stores shard configuration information in the config database. Always run addShard when using the admin database.

The shard that you add to your sharded cluster must be empty.

Quando você adiciona um shard a um cluster fragmentado, afeta o equilíbrio de blocos entre os shards de um cluster para todas as coleções fragmentadas existentes. O balancer começará a migrar blocos para que o cluster atinja o equilíbrio. Consulte Internais do Balancer para mais informações.

Importante

Não é possível incluir um membro oculto na lista de sementes fornecida a addShard.

If you add a shard while your cluster executes a DDL operation (operation that modifies a collection such as reshardCollection), addShard only executes after the concurrent DDL operation finishes.

The following command adds a replica set as a shard:

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

Aviso

Do not use localhost for the hostname unless your config server is also running on localhost.