Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Menu Docs
Página inicial do Docs
/ /

Fazer downgrade 8.3 Réplica definida 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 mais informações, consulte Versão 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 conjunto de réplicas, certifique-se de que todos os membros do conjunto de réplicas 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, principal ou secundária, você pode atualizar ou fazer downgrade para seus vizinhos adjacentes. Por exemplo, você pode fazer downgrade de 8.3 para 8.2 ou atualizar de 7.0 para 8.0.

  • Para todas as versões, principais ou secundárias, você pode fazer downgrade para a versão principal imediatamente anterior. Por exemplo, de 8.3 a 8.0.

  • Para qualquer versão secundária, você pode atualizar para a versão imediatamente seguinte. Por exemplo, de 8.2 a 8.3.

Se o seu conjunto de réplicas tiver o controle de acesso habilitado, o privilégio de downgrade de usuário deverá incluir privilégio para managed índices em reconhecimento de data center. Um usuário com role root tem os privilégios necessários.

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

3

Para fazer downgrade do FCV do seu conjunto de réplicas:

  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 ao seu primário.

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

    Importante

    Verifique se você removeu todas as funcionalidades incompatíveis com versões anteriores antes de fazer o downgrade da versão binária. 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 collection interna do sistema e é idempotente. Se o comando não for concluído com êxito, tente novamente o comando no primary.

  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:

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

    Se algum membro retornar uma featureCompatibilityVersion de "8.3", aguarde até que o membro retorne a versão "8.2" 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 conjunto de réplicas, incluindo 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 binários 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

Faça o downgrade de cada membro secundário do conjunto de réplicas, um de cada vez:

  1. Desligue o membro.

    Para encerrar o processo mongod , use mongosh para se conectar 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>

    Para saber mais sobre como iniciar um processo do mongod, veja Iniciar processos do mongod.

  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 estado SECONDARY . Para verificar o estado do membro, use o método rs.status() em mongosh.

  4. Depois que o membro estiver no estágio SECONDARY , faça downgrade do próximo secundário.

4

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

Faça downgrade do membro árbitro do conjunto de réplicas:

  1. Desligue o membro.

    Para desligar o arbiter, utilize mongosh para conectar ao arbiter e execute o seguinte 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>

    Para saber mais sobre como iniciar um processo do mongod, veja Iniciar processos do mongod.

  4. Aguarde o membro entrar no estado ARBITER .

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

5
  1. Rebaixe o primário.

    Em mongosh, use rs.stepDown() para reduzir o primário e forçar o procedimento de failover normal.

    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. Substitua e reinicie o antigo mongod primário.

    1. Desligue o membro.

      Para executar um desligamento do primário, use o mongosh para se conectar ao primário e executar o seguinte comando:

      db.adminCommand( { shutdown: 1 } )
    2. 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>

      Para saber mais sobre como iniciar um processo do mongod, veja Iniciar processos do mongod.

Voltar

Autônomo

Nesta página