Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Converter cluster fragmentado autogerenciado em conjunto de réplicas

Nesta página

  • Antes de começar
  • Converter um cluster com um único fragmento em um conjunto de réplicas
  • Converter um cluster fragmentado em um conjunto de réplicas

Este tutorial descreve o processo de conversão de umcluster fragmentado em um conjunto de réplicas não fragmentadas. Para converter um conjunto de réplicas em um cluster fragmentado Converta um conjunto de réplicas autogerenciado em um cluster fragmentado. Consulte a documentação de fragmentação para obter mais informações sobre clusters fragmentados.

A partir do MongoDB 8.0, você pode usar a função directShardOperations para executar operações de manutenção que exigem a execução de comandos diretamente em um fragmento.

Aviso

Executar comandos utilizando a função directShardOperations pode fazer com que seu cluster pare de funcionar corretamente e pode causar corrupção de dados. Use a função directShardOperations apenas para fins de manutenção ou sob a orientação do suporte do MongoDB . Quando terminar de executar as operações de manutenção, pare de usar a função directShardOperations .

No caso de um cluster fragmentado com apenas um fragmento, esse fragmento contém o conjunto de dados completo. Use o procedimento a seguir para converter esse cluster em um conjunto de réplicas não fragmentadas:

  1. Reconfigure o aplicativo para se conectar ao nó principal do conjunto de réplicas que hospeda o único fragmento em que o sistema será o novo conjunto de réplicas.

  2. Remova a opção --shardsvr do seu mongod.

    Dica

    A alteração da opção --shardsvr alterará a porta em que o mongod escuta conexões de entrada.

O cluster de fragmento único agora é um conjunto de réplicas não fragmentadas que aceitará operações de leitura e gravação no conjunto de dados.

Agora você pode desativar a infraestrutura de fragmentação restante.

Use o procedimento a seguir para fazer a transição de um cluster fragmentado com mais de um fragmento para um conjunto de réplicas totalmente novo.

  1. Com o cluster fragmentado em execução, implante um novo conjunto de réplicas além do cluster fragmentado. O conjunto de réplicas deve ter capacidade suficiente para armazenar todos os arquivos de dados de todos os fragmentos atuais combinados. Não configure o aplicativo para se conectar ao novo conjunto de réplicas até a transferência de dados ser concluída.

  2. Interrompa todas as gravações no cluster fragmentado. É possível reconfigurar seu aplicativo ou interromper todas as instâncias mongos. Se interromper todas as instâncias do mongos, os aplicativos não poderão ler a partir do banco de dados. Se você interromper todas as instâncias do mongos, inicie uma instância do mongos temporária que os aplicativos não podem acessar para o procedimento de migração de dados.

  3. Use o mongodump e o mongorestore para migrar os dados da instância mongos para o novo conjunto de réplicas.

    Observação

    Nem todas as coleções em todos os bancos de dados são necessariamente fragmentadas. Não migre apenas a coleção fragmentada. Certifique-se de que todos os bancos de dados e todas as coleções sejam migrados corretamente.

  4. Reconfigure o aplicativo para utilizar o conjunto de réplicas não fragmentadas em vez da instância mongos.

    Depois de converter o cluster fragmentado em um conjunto de réplicas, atualize a string de conexão usada pelos seus aplicativos para a string de conexão do conjunto de réplicas. Em seguida, reinicie seus aplicativos.

O aplicativo agora usará o conjunto de réplicas não fragmentadas para leituras e gravações. Agora você pode desativar a infraestrutura de cluster fragmentada não utilizada.

Voltar

Fazer backup dos metadados do cluster