Menu Docs

addShard

addShard

Adiciona um conjunto de réplicas fragmentadas em umcluster 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 Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Importante

Este comando não é suportado em instâncias sem servidor. Para obter mais informações, consulte Comandos não suportados.

  • 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

O comando tem a seguinte sintaxe:

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

Observação

A partir da versão 6.2, O MongoDB remove o maxSize campo do comando addShard . Como resultado:

  • Executar addShard com o campo maxSize retorna um erro InvalidOptions .

  • 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

Opcional. Um nome para o fragmento. Se isso não for especificado, o MongoDB fornecerá automaticamente um nome exclusivo.

O comando addShard armazena informações de configuração de shard no banco de dados de configuração de dados de configuração. Execute sempre addShard ao utilizar o banco de banco de dados do admin .

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.

Se você adicionar um shard enquanto o cluster executa uma operação DDL (operação que modifica uma collection como reshardCollection), addShard só será executado depois que a operação DDL simultânea for concluída.

O seguinte comando adiciona um conjunto de réplicas como um fragmento:

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

Aviso

Não use localhost para o nome do host, a menos que seu servidor de configuração também esteja sendo executado em localhost.