Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Fazer downgrade 8.3 Cluster fragmentado para 8.2

Importante

MongoDB 8.3 é a versão menor mais recente. A partir do MongoDB 8.2, versões secundárias estão disponíveis para implantações locais (Community e EA) para casos de uso específicos. Para obter mais informações, consulte a seção Versões do MongoDB.

Para instalar a versão mais recente do MongoDB compatível com uso local, consulte as instruções de instalação.

Antes de tentar fazer um downgrade, familiarize-se com o conteúdo nesta página.

Importante

Antes de atualizar ou fazer downgrade de um cluster, certifique-se de que todos os membros do cluster estejam em execução. Se você não fizer isso, a atualização ou downgrade não será concluído até que todos os membros sejam iniciados.

Se você precisar fazer o downgrade do 8.3, faça o downgrade para a versão de correção mais recente do 8.2.

O MongoDB suporta downgrades de versão única apenas em versões adjacentes. Você não pode fazer o downgrade para uma versão que esteja várias versões atrás da versão atual.

Para qualquer versão do MongoDB , você pode atualizar ou fazer downgrade para a versão principal ou secundária imediatamente anterior.

Antes de iniciar o procedimento de downgrade, você deve concluir as etapas de pré-requisito a seguir.

1

Opcional, mas recomendado. Crie uma cópia de segurança do seu banco de dados.

Para saber como criar uma cópia de segurança, consulte Métodos de cópia de segurança para um sistema autogerenciado.

2

Para fazer o downgrade de 8.3 para 8.2, você deve remover 8.3 funcionalidades que são incompatíveis com 8.2. Para obter uma lista de recursos incompatíveis e como removê-los, consulte Considerações sobre downgrade.

3

Certifique-se de que todas as operações de refragmentação tenham sido concluídas com êxito. Se uma operação recente de refragmentação falhar devido a um failover primary, você deverá primeiro executar o comando abortReshardCollection antes de fazer downgrade do featureCompatibilityVersion do cluster fragmentado.

Se uma operação de refragmentação ainda estiver em execução enquanto você faz downgrade do featureCompatibilityVersion do cluster fragmentado, a operação de refragmentação não será concluída.

4

Para fazer downgrade do FCV do seu cluster fragmentado:

  1. Certifique-se de que não haja initial sync em andamento. A execução do comando setFeatureCompatibilityVersion enquanto uma initial sync está em andamento faz com que a initial sync seja reiniciada.

  2. Certifique-se de que nenhum nó tenha um campo newlyAdded na configuração do conjunto de réplicas. Execute o seguinte comando em cada nó do seu conjunto de réplicas para verificar isso:

    use local
    db.system.replset.find( { "members.newlyAdded" : { $exists : true } } );

    O campo newlyAdded só aparece no documento de configuração do conjunto de réplicas de um nó durante e logo após uma sincronização inicial.

  3. Certifique-se de que nenhum membro do conjunto de réplicas esteja no estado ROLLBACK ou RECOVERING .

  4. Use para mongosh mongos se conectar ao seu.

  5. Faça o downgrade de featureCompatibilityVersion para "8.2".

    Importante

    Verifique se você removeu todos os recursos incompatíveis com versões anteriores antes de fazer o downgrade da versão binary. Certifique-se de avaliar o caminho da atualização antes de continuar.

    db.adminCommand( { setFeatureCompatibilityVersion: "8.2", confirm: true } )

    O comando setFeatureCompatibilityVersion executa gravações em uma coleção interna do sistema e é idempotente. Se o comando não for concluído com êxito, tente novamente o comando na instânciamongos.

    Observação

    Solução de problemas

    • Enquanto setFeatureCompatibilityVersion estiver em execução no cluster fragmentado, migrações, divisões e mesclagens de partes podem apresentar falhas com ConflictingOperationInProgress.

    • Se setFeatureCompatibilityVersion falhar com um erro ManualInterventionRequired e o cluster tiver passado recentemente por uma operação de refragmentação que falhou devido a uma eleição, você deverá executar o comando abortReshardCollection antes de tentar executar setFeatureCompatibilityVersion novamente.

  6. Para garantir que todos os membros do conjunto de réplicas tenham o featureCompatibilityVersion atualizado, conecte a cada membro do conjunto de réplicas e verifique o featureCompatibilityVersion:

    Dica

    Controle de acesso

    Para um cluster fragmentado que tenha o controle de acesso ativado, para executar o adminCommand em um membro do conjunto de réplicas de fragmento, você deve se conectar ao membro como um usuário local do fragmento.

    db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
    "featureCompatibilityVersion" : { "version" : "8.2" }

    Se algum membro retornar uma featureCompatibilityVersion de "9.0", aguarde até que o membro retorne a versão "8.3" antes de continuar.

Para obter mais informações sobre o valor featureCompatibilityVersion retornado, consulte Obter FeatureCompatibilityVersion.

Aviso

Antes de prosseguir com o procedimento de downgrade, certifique-se de que todos os membros do cluster fragmentado, inclusive os membros do conjunto de réplicas atrasadas, tenham as alterações de pré-requisito. Para fazer isso, verifique o featureCompatibilityVersion e remova as feições incompatíveis para cada nó antes de fazer o downgrade.

1

Utilizando um gerenciador de pacote ou um download manual, obtenha a versão mais recente do 8.2. Se estiver usando um gerenciador de pacote , adicione um novo repositório para os binários 8.2 e execute o processo de downgrade real.

Importante

Antes de atualizar ou fazer downgrade de um cluster, certifique-se de que todos os membros do cluster estejam em execução. Se você não fizer isso, a atualização ou downgrade não será concluído até que todos os membros sejam iniciados.

Se você precisar fazer o downgrade do 8.3, faça o downgrade para a versão de correção mais recente do 8.2.

2

Certifique-se de que os binary 8.2 estão em seu PATH do sistema. Para confirmar sua versão binária, execute o seguinte comando:

mongod --version

A saída do comando deve indicar uma versão 8.2.

3

Para desabilitar o balanceador, conecte mongosh a uma instância no cluster fragmentado e execute o seguinte mongos comando:

sh.stopBalancer()

Observação

Se houver uma migração em andamento, o MongoDB concluirá a migração em andamento antes de encerrar o balancer. Para verificar o estado atual do balanceador, execute sh.isBalancerRunning().

Para verificar se o balanceador está desabilitado, execute o seguinte comando:

sh.getBalancerState()

sh.getBalancerState() retorna false se o balanceador estiver desabilitado.

Para obter mais informações sobre como desabilitar o balanceador, consulte Desabilitar o balanceador.

4
  1. Para parar o mongos , execute o seguinte comando:

    db.shutdownServer()
  2. Reinicie mongos com o binary 8.2.

5
  1. Faça downgrade dos membros secundários do fragmento, um de cada vez.

    1. Desligue o membro.

      Para encerrar o processo mongod mongosh de, use para se conectar ao sistema e execute o seguinte comando:

      db.adminCommand( { shutdown: 1 } )
    2. Reinicie o membro.

      Para iniciar um processo do mongod, execute o seguinte comando:

      mongod --dbpath </path-to-data-folder>
    3. Aguarde o membro entrar no estado SECONDARY .

      Antes de fazer o downgrade do próximo secundário, aguarde até que o membro se recupere para o SECONDARY estado. Para verificar o estado do membro, use o rs.status() método mongosh em.

    4. Repita as etapas anteriores para fazer downgrade de cada membro secundário.

  2. Faça o downgrade do árbitro de shard, se houver.

    Pule esta etapa se o conjunto de réplicas não incluir um árbitro.

    Faça downgrade do membro árbitro do cluster fragmentado:

    1. Desligue o membro.

      Para desligar o árbitro, use para se conectar ao árbitro e executar o seguinte mongosh comando:

      db.adminCommand( { shutdown: 1 } )
    2. Exclua o conteúdo da linguagem de definição de dados (DDL) do árbitro.

      Para encontrar a linguagem de definição de dados (DDL) do árbitro mongod, verifique a configuração do storage.dbPath ou a opção de linha de comando --dbpath .

      Execute o seguinte comando:

      rm -rf /path/to/mongodb/datafiles/*
    3. Reinicie o árbitro.

      Para iniciar um processo do mongod, execute o seguinte comando:

      mongod --dbpath </path-to-mongodb-datafiles>
    4. Aguarde o membro entrar no estado ARBITER .

      Antes de fazer o downgrade do primary, aguarde até que o nó se recupere para o ARBITER estado. Para verificar o estado do membro, use o rs.status() método mongosh em.

  3. Faça downgrade do fragmento primário.

    1. Rebaixe o primário.

      mongoshEm, use rs.stepDown() para descer a primária e iniciar uma eleição para uma nova primária:

      rs.stepDown()
    2. Verifique se o primário foi desativado.

      Execute o seguinte comando:

      rs.status()

      Verifique se o primário foi desativado e se outro membro assume o estado PRIMARY .

    3. Desligue o antigo membro primary.

      Para desligar o antigo primário, conecte-se ao sistema usando e execute o seguinte mongosh comando:

      db.adminCommand( { shutdown: 1 } )
    4. Reinicie o mongod com o binário 8.2 .

      Para iniciar um processo do mongod, execute o seguinte comando:

      mongod --dbpath </path-to-mongodb-datafiles>
    5. Repita para os shards restantes.

6
  1. Faça o downgrade dos membros secundários do shard do conjunto de réplicas de servidores de configuração (CSRS) um de cada vez:

    1. Desative o secundário.

      Conecte-se ao secundário e execute o seguinte comando:

      db.adminCommand( { shutdown: 1 } )
    2. Reinicie o membro.

      Para iniciar um processo do mongod, execute o seguinte comando:

      mongod --dbpath </path-to-data-folder>
    3. Aguarde o membro entrar no estado SECONDARY .

      Antes de fazer o downgrade do próximo secundário, aguarde até que o membro se recupere para o SECONDARY estado. Para verificar o estado do membro, use o rs.status() método mongosh em.

    4. Repita as etapas anteriores para fazer downgrade de cada membro secundário.

  2. Faça downgrade do servidor de configuração primário.

    1. Rebaixe o primário.

      Em mongosh, execute rs.stepDown() para rebaixar o primário e iniciar uma eleição para um novo primário:

      rs.stepDown()
    2. Verifique se o primário foi desativado.

      Execute o seguinte comando:

      rs.status()

      Verifique se o primário foi desativado e se outro membro assume o estado PRIMARY .

    3. Desligue o antigo membro primary.

      Para desligar o antigo primário, conecte-se ao sistema usando e execute o seguinte mongosh comando:

      db.adminCommand( { shutdown: 1 } )
    4. Reinicie o mongod com o binário 8.2 .

      Para iniciar um processo do mongod, execute o seguinte comando:

      mongod --dbpath </path-to-mongodb-datafiles>
7

Após fazer o downgrade de todos os componentes do cluster fragmentado, conecte a um mongos e execute o seguinte comando para reativar o balanceador:

sh.startBalancer()

O método sh.startBalancer() também habilita a divisão automática para o cluster fragmentado.