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 parte entre os shards de um cluster para todas as collection fragmentadas existentes. O balancer começará a migrar blocos para que o cluster atinja o equilíbrio. Consulte balanceador de Cluster para obter mais informações.
Migrações de chunks podem ter impacto no espaço em disco, pois o fragmento de origem arquiva automaticamente os documentos migrados por padrão. Para obter detalhes, consulte o diretóriomoveChunk
.
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.
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.