Familiarize-se com o conteúdo deste documento, incluindo a revisão minuciosa dos pré-requisitos, antes de atualizar para MongoDB 9.0.
As etapas a seguir descrevem o procedimento para atualizar um mongod que seja membro de um conjunto de réplicas da versão 8.0 para 9.0.
Se precisar de orientação sobre como atualizar para a versão 9.0, os serviços profissionais do MongoDB viabilizam o upgrade da versão principal para ajudar a garantir uma transição sem percalços, sem interrupção para o seu aplicativo do MongoDB.
Recomendações de upgrade e listas de verificação
Ao atualizar, considere o seguinte:
Atualizar caminho da versão
Para atualizar uma implantação MongoDB existente para 9.0, você deve estar executando uma versão 8.0 ou 8.3.
Para atualizar de uma versão anterior à série 8.0, é preciso atualizar sucessivamente as principais versões até fazer o upgrade para a série 8.0. Por exemplo, se estiver executando a série 7.0, você deve atualizar para a 8.0 antes de fazer o upgrade para 9.0.
Verifique a compatibilidade do driver
Antes de atualizar o MongoDB, verifique se você está usando um driver 9.0compatível com o MongoDB. Consulte a documentação do driver específico para verificar a compatibilidade com o MongoDB..90
As implementações atualizadas que são executadas em drivers incompatíveis podem encontrar comportamentos inesperados ou indefinidos.
Preparação
Antes de iniciar sua atualização, consulte o documento Alterações de compatibilidade no MongoDB 9.0 para garantir que seus aplicativos e sistemas sejam compatíveis com o MongoDB 9.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.
Consideração de rebaixamento
A partir do MongoDB 8.3, você pode fazer downgrade da sua versão do MongoDB para a versão secundária ou principal imediatamente anterior.
O MongoDB suporta apenas downgrades de versão única. Você não pode fazer o downgrade para uma versão que esteja várias versões atrás da versão atual.
Por exemplo, você pode fazer downgrade de uma série 9.0para uma série 8.0. No entanto, não há suporte para desatualização adicional dessa implantação da série 8.0para uma implantação da série 7.0.
Para saber mais, consulte Downgrade 9.0 para 8.0.
Pré-requisitos
Versão de todos os membros
Todos os membros do conjunto de réplicas devem executar a versão 8.0 ou 8.3. Para atualizar um conjunto de réplicas de 8.3, consulte Atualizar 8.3 para 9.0 Conjunto de réplicas. Para atualizar um conjunto de réplicas da série 7.0 e anterior, primeiro atualize todos os nós do conjunto de réplicas para a versão mais recente da série 8.0 e, em seguida, siga o procedimento para atualizar do MongoDB 8.0 a 9.0.
Versão de compatibilidade de recursos
O conjunto de réplicas 8.0 deve ter featureCompatibilityVersion definido como 8.0.
Para garantir que todos os membros do conjunto de réplicas tenham featureCompatibilityVersion definido como 8.0, conecte a cada membro do conjunto de réplicas e verifique featureCompatibilityVersion:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
"featureCompatibilityVersion" : { "version" : "8.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: "8.0" , confirm: true } )
Para mais informações, consulte setFeatureCompatibilityVersion.
Estado do membro do conjunto de réplicas
Emita o comando replSetGetStatus para garantir que nenhum membro do conjunto de réplicas esteja no estado ROLLBACK ou RECOVERING:
db.adminCommand( { replSetGetStatus: 1 } )
Download 9.0 Binários
Usar um gerenciador de pacotes
Se você instalou o MongoDB a partir dos repositórios MongoDB apt, yum, dnf ou zypper, deverá atualizar para a versão 9.0 utilizando seu gerenciador de pacotes.
Siga as instruções de instalação do9.0 apropriadas para seu sistema Linux. Isso requer adicionar um repositório para a nova versão e, em seguida, executar o processo de upgrade real.
Manualmente
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 9.0 para obter mais informações.
Procedimento de atualização
É possível atualizar o MongoDB da versão 8.0 para a versão 9.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.
Atualizar membros secundários do conjunto de réplicas
Atualize os membros secundários da réplicas para definir um de cada vez:
Substitua o 8.0 binário pelo 9.0 binário.
Reinicie o membro.
Reduza o conjunto de réplicas primário
Conecte mongosh o ao primary e utilize o para descer o primary e forçar uma eleição de uma novo rs.stepDown() primary.
Atualizar o primário anterior
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:
Encerre o primário desativado e substitua o binário
mongodpelo binário 9.0 .Reinicie o membro.
Habilitar funcionalidades 9.0 incompatíveis com versões anteriores
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.
Neste ponto, você pode executar o 9.0 binários sem os recursos recursos do 9.0 que são incompatíveis com 8.0.
Para habilitar estas funcionalidades do 9.0, configure a versão de compatibilidade do recurso (FCV) para 9.0. Você também deve definir confirm como true.
Dica
Certifique-se de que não haja sincronização inicial em andamento. A execução do comando setFeatureCompatibilityVersion enquanto uma sincronização inicial estiver em andamento faz com que a sincronização inicial seja reiniciada.
No primário, execute o comando setFeatureCompatibilityVersion no banco de dados admin :
db.adminCommand( { setFeatureCompatibilityVersion: "9.0", confirm: true } )
Definindo featureCompatibilityVersion (FCV) : "9.0" executa implicitamente um para replSetReconfig term adicionar o campo 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 coleção interna do sistema. Se o comando não for concluído, você poderá tentar novamente o comando no primário com segurança, pois a operação é idempotente.
Solução de problemas
Se você tiver problemas de inicialização após a atualização, entre em contato com o suporte do MongoDB para obter ajuda.
Procedimentos de atualização adicionais
Para atualizar um autônomo, consulte Atualizar 8.0 autônomo para 9.0.
Para atualizar um cluster fragmentado, consulte Atualizar 8.0 cluster fragmentado para 9.0.