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

Atualizar um conjunto de réplicas para 8.0

Nesta página

  • Recomendações de upgrade e listas de verificação
  • Pré-requisitos
  • Download 8.0 Binários
  • Procedimento de atualização
  • Procedimentos de atualização adicionais

Familiarize-se com o conteúdo deste documento, incluindo a revisão minuciosa dos pré-requisitos, antes de atualizar com o MongoDB 8.0.

As etapas a seguir descrevem o procedimento para atualizar um mongod que é um membro do conjunto de réplicas da versão 7.0 para 8.0.

Se você precisar de orientação sobre como atualizar para a versão 8.0, os serviços profissionais do MongoDB oferecem suporte de atualização da versão principal para ajudar a garantir uma transição tranquila, sem interrupção para seu aplicativo MongoDB.

Ao atualizar, considere o seguinte:

Para atualizar uma implantação MongoDB existente para 8.0, você deve estar executando uma versão da série 7.0.

Para atualizar de uma versão anterior à série 7.0, é preciso atualizar sucessivamente as principais versões até fazer o upgrade para a série 7.0. Por exemplo, se estiver executando a série 6.0, você deve atualizar para a 7.0 antes de fazer o upgrade para 8.0.

Antes de fazer upgrade do MongoDB, verifique se você está usando um driver compatível com o MongoDB 8.0. Consulte a documentação do driver para seu driver específico para verificar a compatibilidade com o MongoDB 8.0.

As implementações atualizadas que são executadas em drivers incompatíveis podem encontrar comportamentos inesperados ou indefinidos.

Antes de iniciar sua atualização, consulte o documento Alterações de compatibilidade no MongoDB 8.0 para garantir que seus aplicativos e sistemas sejam compatíveis com o MongoDB 8.0. Resolva as incompatibilidades em sua implantação antes de iniciar a atualização.

Antes de atualizar o MongoDB, sempre teste seu aplicativo em um ambiente de preparação antes de implantar a atualização em seu ambiente de produção.

Você não pode fazer downgrade da versão binária do seu sistema sem assistência do suporte.

Para saber mais, consulte Downgrade 8.0 para 7.0.

Todos os nós do conjunto de réplicas devem estar executando a versão 7.0. Para atualizar um conjunto de réplicas da série 6.0e anterior, primeiro atualize todos os nós do conjunto de réplicas para a versão mais recente da série 7.0 e, em seguida, siga o procedimento para atualizar do MongoDB 7.0 para o 8.0.

O 7.0 conjunto de réplicas deve ter featureCompatibilityVersion definido como "7.0".

Para garantir que todos os membros do conjunto de réplicas tenham featureCompatibilityVersion configurado para "7.0", conecte a cada membro do conjunto de réplicas e marque o featureCompatibilityVersion:

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

Todos os membros devem retornar um resultado que inclua "featureCompatibilityVersion" : { "version" : "7.0" }.

Para definir ou atualizar featureCompatibilityVersion, execute o seguinte comando no primário. A maioria dos membros portadores de dados deve estar disponível:

db.adminCommand( { setFeatureCompatibilityVersion: "7.0" } )

Para mais informações, consulte setFeatureCompatibilityVersion.

Certifique-se de que nenhum membro do conjunto de réplicas esteja no estado ROLLBACK ou RECOVERING, emitindo o comando replSetGetStatus:

db.adminCommand( { replSetGetStatus: 1 } )

Se você instalou o MongoDB a partir dos repositórios MongoDB apt, yum, dnf ou zypper, deverá atualizar para a versão 8.0 utilizando seu gerenciador de pacotes.

Siga as instruções de instalação do 8.0 apropriado para seu sistema Linux. Isso envolverá a adição de um repositório para a nova versão e, em seguida, a execução do processo de atualização real.

Se você não tiver instalado o MongoDB usando um gerenciador de pacotes, poderá fazer o download manual dos binários do MongoDB no MongoDB Download Center.

Consulte as instruções de instalação da versão 8.0 para obter mais informações.

É possível atualizar o MongoDB da versão 7.0 para a versão 8.0 com uma atualização "contínua," que permite atualizar um nó de cada vez, mantendo os demais em funcionamento para minimizar o tempo de inatividade.

1

Para encerrar o processo mongod, use o mongosh para se conectar ao membro do conjunto de réplicas e execute o seguinte comando:

db.adminCommand( { shutdown: 1 } )
2

Atualize os membros secundários da réplicas para definir um de cada vez:

  1. Substitua o 7.0 binário pelo 8.0 binário.

  2. Reinicie o membro.

3

Conecte o mongosh ao primary e utilize o rs.stepDown() para descer o primary e forçar uma eleição de uma novo primary.

4

Quando rs.status() indicar que o primário foi desativado e outro membro tiver assumido o estado PRIMARY, faça upgrade do primário desativado:

  1. Encerre o primário desativado e substitua o binário mongod pelo binário 8.0 .

  2. Reinicie o membro.

5

Neste ponto, você pode executar o 8.0 binários sem os recursos recursos do 8.0 que são incompatíveis com 7.0.

Para habilitar esses recursos da versão 8.0, defina a versão de compatibilidade do recurso (fCV) como 8.0.

Dica

Habilitar essas recursos funcionalidades com versões anteriores pode complicar o processo de downgrade, pois você deve remover todos as funcionalidades persistentes incompatíveis com versões anteriores antes de fazer o downgrade.

É recomendável que, após a atualização, você permita que seu sistema seja executado sem habilitar essas funcionalidades por um período de burn-in para garantir que a probabilidade de downgrade seja mínima. Quando você estiver confiante de que a probabilidade de downgrade é mínima, habilite essas funcionalidades.

Dica

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

No primário, execute o comando setFeatureCompatibilityVersion no banco de dados admin :

db.adminCommand( { setFeatureCompatibilityVersion: "8.0" } )

Definindo featureCompatibilityVersion (fCV) : "8.0" executa implicitamente um replSetReconfig para adicionar o campo term ao documento de configuração e bloqueia até que a nova configuração se propague para a maioria dos membros do conjunto de réplicas.

Este comando deve executar gravações em uma collection interna do sistema. Se, por algum motivo, o comando não for concluído com êxito, você poderá tentar novamente o comando no primary com segurança, pois a operação é idempotente.

Voltar

Autônomo