Definição
addShardAdiciona um conjunto de réplicas de fragmento a um cluster fragmentado.
Dica
Em
mongosh, esse comando também pode ser executado por meio do método assistentesh.addShard().Os métodos auxiliares são convenientes 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 conveniência não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
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
Este comando não é suportado no MongoDB Atlas. Consulte Modificar seu Atlas Cluster Sharded para adicionar ou remover shards do seu Atlas cluster.
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { addShard: "<replica_set>/<hostname><:port>", name: "<shard_name>" } )
Campos de comando
Observação
A partir da versão 6.2, o MongoDB remove o campo maxSize do comando addShard. Como resultado:
O comando contém os seguintes campos:
Campo | Tipo | Descrição | |
|---|---|---|---|
| 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: | |
| 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. Execute sempre addShard ao utilizar o banco de dados do admin.
Considerações
Armazenamento
O fragmento que você adiciona ao seu cluster fragmentado deve estar vazio.
EquilÃbrio
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.
membro oculto
Importante
Você não pode incluir um membro oculto na lista de sementes fornecida para addShard.
Operações de DDL
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.
Acesso necessário
Você deve ter a addShard ação em um recurso de cluster para executar o comando addShard. As roles clusterAdmin clusterManager integradas addShard ou contêm a ação e concedem privilégios para addShard executar o comando.
Exemplos
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.