Adicionar shards a um cluster
Nesta página
Você adiciona shards a umcluster fragmentado fragmentado depois de criar o cluster ou a qualquer momento em que precisar adicionar capacidade ao cluster. Se você não criou um cluster fragmentado, consulte Implementar um cluster fragmentado autogerenciado.
Todos os fragmentos devem ser conjuntos de réplicas.
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.
Planejamento de capacidade
Ao adicionar um shard a um cluster, sempre certifique-se de que o cluster tenha capacidade suficiente para suportar a migração necessária para equilibrar o cluster sem afetar o tráfego de produção legítimo.
Operações de DDL
Se você adicionar um fragmento enquanto seu cluster executa uma operação DDL (operação que modifica uma coleção, como reshardCollection
), a operação que adiciona um fragmento só é executada após a conclusão da operação DDL simultânea.
Adicionar um shard a um cluster
Você interage com um cluster fragmentado ao conectar a uma instância do mongos
.
Em
mongosh
, conecte-se à instânciamongos
. Por exemplo, se ummongos
estiver acessível nomongos0.example.net
na porta27017
, emita o seguinte comando:mongosh --host mongos0.example.net --port 27017 Adicione um conjunto de réplicas de shard no cluster utilizando o método
sh.addShard()
, como mostrado no exemplo abaixo. Ediçãosh.addShard()
separadamente para cada shard. Especifique o nome do conjunto de réplicas e um membro do conjunto.Observação
Opcional
O exemplo a seguir ilustra a adição de um shard com
sh.addShard()
:Para adicionar um conjunto de réplicas de shard chamado
rs1
com um membro executando na porta27018
emmongodb0.example.net
, emita o seguinte comando:sh.addShard( "rs1/mongodb0.example.net:27018" ) Observação
Pode levar algum tempo para que chunks migrem para o novo shard.