Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
addShard
Nesta página
Definição
addShard
Adiciona um conjunto de réplicas de fragmento a um cluster fragmentado.
Dica
Em
mongosh
, este comando também pode ser executado por meio do método auxiliarsh.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.
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 maxSize
campo do comando . Como addShard
resultado:
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:
| |
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. Sempre execute addShard
ao utilizar o banco de dados do admin
.
Considerações
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
.
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
.