Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Adicionar shards a um cluster

Nesta página

  • Considerações
  • Adicionar um shard a um cluster

Você adiciona shards a um cluster sharded 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.

Em ambientes de produção, todos os shards devem ser conjuntos de réplicas.

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.

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.

Você interage com um cluster fragmentado conectando a uma instância do mongos.

  1. Em , conecte-se à instânciamongos mongosh . Por exemplo, se um mongos estiver acessível no mongos0.example.net na porta 27017, emita o seguinte comando:

    mongosh --host mongos0.example.net --port 27017
  2. Adicione um shard ao cluster utilizando o método sh.addShard(), como mostrado nos exemplos abaixo. Edição sh.addShard() separadamente para cada shard. Se o shard for um conjunto de réplica, especifique o nome do conjunto de réplicas e especifique um membro do conjunto. Em sistemas de produção, todos os shards devem ser conjuntos de réplicas.

    Observação

    Opcional

    Em vez disso, você pode usar o comando addShard database, que permite especificar um nome e um tamanho máximo para o shard. Se você não especificá-los, o MongoDB atribuirá automaticamente um nome e um tamanho máximo. Para utilizar o comando do banco de dados, consulte addShard.

    Veja abaixo exemplos de como adicionar um shard com sh.addShard():

    • Para adicionar um shard de conjunto de réplicas denominado rs1 com um membro executando na porta 27018 no mongodb0.example.net, emita o seguinte comando:

      sh.addShard( "rs1/mongodb0.example.net:27018" )
    • Para adicionar um shard mongod independente executando na porta 27018 do mongodb0.example.net, emita o seguinte comando:

      sh.addShard( "mongodb0.example.net:27018" )

    Observação

    Pode levar algum tempo para que chunks migrem para o novo shard.

← Migrar um cluster fragmentado para hardware diferente