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çãohoststring
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
localhostpara o nome do host, a menos que seu servidor de configuração também esteja sendo executado emlocalhost.mongosinstalados a partir dos pacotes oficiais Install MongoDB Community Edition no Debian e Install MongoDB Community Edition no Red Hat ou CentOS têm a configuraçãobind_ipdefinida como127.0.0.1por padrão.mongosusa"majority"no comandoaddSharde 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
Esse comando não é suportado em clusters M0 e Flex. 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")