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.0

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.0.

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 reverter 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.0, você deve remover 8.3 funcionalidades que são incompatíveis com 8.0. 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 mongosh para se conectar à sua instância mongod.

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

    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.0", 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.0" }

    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.0. Se estiver usando um gerenciador de pacote , adicione um novo repositório para os binários 8.0 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.0.

2

Certifique-se de que os binary 8.0 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.0.

3

To disable the balancer, connect mongosh to a mongos instance in the sharded cluster, and run the following command:

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.0.

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

    1. Desligue o membro.

      To shut down the mongod process, use mongosh to connect to the deployment and run the following command:

      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 .

      Before downgrading the next secondary, wait for the member to recover to the SECONDARY state. To check the member's state, use the rs.status() method in mongosh.

    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.

      To shut down the arbiter, use mongosh to connect to the arbiter and run the following command:

      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 .

      Before downgrading the primary, wait for the member to recover to the ARBITER state. To check the member's state, use the rs.status() method in mongosh.

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

    1. Rebaixe o primário.

      In mongosh, use rs.stepDown() to step down the primary and start an election for a new primary:

      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.

      To shut down the former primary, connect to the deployment using mongosh and run the following command:

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

      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 .

      Before downgrading the next secondary, wait for the member to recover to the SECONDARY state. To check the member's state, use the rs.status() method in mongosh.

    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.

      In mongosh, run rs.stepDown() to step down the primary and start an election for a new primary:

      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.

      To shut down the former primary, connect to the deployment using mongosh and run the following command:

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

      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.