Definição
addShardAdiciona um conjunto de réplicas de fragmento a um cluster fragmentado.
Dica
mongoshEm, esse comando também pode ser executado por meio do métodosh.addShard()assistente.Os métodos auxiliares são convenientes para os
mongoshusuários, 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
Iniciando na 6.2 versão, MongoDB remove o maxSize campo do comando. Como addShard 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 armazena informações addShard de configuração de shard addShard no admin banco de dados de configuração. Sempre execute ao usar o banco de dados.
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 addShard para.
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.