sh.addShard()
Nesta página
Definição
sh.addShard(<url>)
Adiciona um conjunto de réplicas fragmentadas em umcluster fragmentado . Este método deve ser executado em uma instância
mongos
.Importante
Método mongosh
Esta página documenta um método
mongosh
. Esta não é a documentação de comandos de banco de dados nem drivers específicos de linguagem, como Node.js.Para o comando do banco de dados, consulte o comando
addShard
.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
O método
sh.addShard()
tem o seguinte parâmetro:ParâmetroTipoDescriçãohost
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>, ... O método
sh.addShard()
tem a seguinte forma de protótipo:sh.addShard("<replica_set>/<hostname><:port>") Aviso
Não use
localhost
para o nome do host, a menos que seu servidor de configuração também esteja sendo executado emlocalhost
.mongos
instalados a partir de arquivos .deb oficiais e .rpm pacote têm a configuraçãobind_ip
definida como127.0.0.1
por padrão.mongos
usa"majority"
no comandoaddShard
e seu assistentesh.addShard()
.
Compatibilidade
Esse método 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 clusters M0, M2 e M5 . 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
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
Não é possível incluir um membro oculto na lista de sementes fornecida a sh.addShard()
.
Operações de DDL
Se você executar o sh.addShard
enquanto o cluster executa uma operação DDL (operação que modifica uma collection como reshardCollection
), o sh.addShard
somente executará após a conclusão da operação DDL simultânea.
Exemplo
Para adicionar um shard, especifique o nome do conjunto de réplicas e o nome do host de pelo menos um membro do conjunto de réplicas, como semente. Se você especificar nomes de host adicionais, todos deverão ser membros do mesmo conjunto de réplicas.
O exemplo a seguir adiciona um conjunto de réplicas chamado repl0
e especifica um membro do conjunto de réplicas:
sh.addShard("repl0/mongodb3.example.net:27327")