Atualizar um conjunto de réplicas para 5.0
Nesta página
Familiarize-se com o conteúdo deste documento, incluindo a revisão minuciosa dos pré-requisitos, antes de atualizar para MongoDB 5.0.
As etapas a seguir descrevem o procedimento para atualizar um mongod
que é um membro do conjunto de réplicas da versão 4.4 para 5.0.
Se você precisar de orientação sobre como atualizar para a versão 5.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.
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 5,0, você deve estar executando uma versão da série 4,4.
Para atualizar de uma versão anterior à série 4.4, você deve atualizar sucessivamente as principais versões até que você tenha atualizado para a série 4.4. Por exemplo, se estiver executando uma série 4.2, você deverá atualizar primeiro para 4.4 antes de atualizar para 5.0.
Verifique a compatibilidade do driver
Antes de fazer upgrade do MongoDB, verifique se você está usando um driver compatível com o MongoDB 5.0. Consulte a documentação do driver para seu driver específico para verificar a compatibilidade com o MongoDB 5.0.
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 5.0 para garantir que seus aplicativos e implantações sejam compatíveis com o MongoDB 5.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
Depois de atualizado para 5.0, se você precisar fazer o downgrade, recomendamos fazer o downgrade para a versão de patch mais recente do 4.4.
Pré-requisitos
Antes de atualizar o conjunto de réplicas, verifique as Considerações de desempenho do 5.0 para obter possíveis impactos no desempenho ao atualizar para o 5.0.
Certifique-se de que a configuração TTL seja válida
Verifique se a configuração de TTL é válida. Antes de atualizar, remova ou corrija quaisquer índices TTL que tenham o expireAfterSeconds
configurado para NaN
. No MongoDB 5.0 e posterior, a configuração expireAfterSeconds
para NaN
tem o mesmo efeito que a configuração expireAfterSeconds
para 0
. Para obter detalhes, consulte Comportamento do expireAfterSeconds
TTL quando definido como NaN
.
Versão de todos os membros
Todos os membros do conjunto de réplicas devem estar executando a versão 4.4. Para atualizar um conjunto de réplicas de uma série 4.2e anteriores, primeiro atualize todos os membros do conjunto de réplicas para a série 4.4mais recente. versão e, em seguida, siga o procedimento para atualizar do MongoDB 4.4 para 5.0.
Confirmar desligamento limpo
Antes de fazer upgrade de um membro do conjunto de réplicas, confirme se o membro foi desligado de forma limpa.
Versão de compatibilidade de recursos
O conjunto de réplicas do 4.4 deve ter featureCompatibilityVersion
definido como "4.4"
.
Para garantir que todos os membros do conjunto de réplicas tenham featureCompatibilityVersion
configurado para "4.4"
, 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" : "4.4" }
.
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: "4.4" } )
Para mais informações, consulte setFeatureCompatibilityVersion
.
Estado do membro do conjunto de réplicas
Garanta que nenhum membro do conjunto de réplicas esteja no estado ROLLBACK
ou RECOVERING
.
Baixar binários 5.0
Através do Gerenciador de Pacotes
Se você instalou o MongoDB a partir dos repositórios MongoDB apt
, yum
, dnf
ou zypper
, deve atualizar para a versão 5.0 usando o gerenciador de pacotes.
Siga as instruções de instalação do 5.0 apropriadas 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 atual.
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 do 5.0 para mais informações.
Processo de atualização
Aviso
Se você atualizar uma instância existente do MongoDB para o MongoDB 5.0.15, essa instância poderá falhar ao iniciar se fork: true
estiver definido no arquivo mongod.conf
.
O problema de atualização afeta todas as instâncias MongoDB que utilizam pacotes de instalação do .deb
ou .rpm
. As instalações que usam a versão tarball (.tgz
) ou outros tipos de pacote não são afetadas. Para obter mais informações, consulte SERVER-74345.
Para remover a configuração fork: true
, execute estes comandos a partir de um terminal do sistema:
systemctl stop mongod.service sed -i.bak '/fork: true/d' /etc/mongod.conf systemctl start mongod.service
O segundo comando systemctl
inicia a instância atualizada após a configuração ser removida.
Você pode atualizar do MongoDB 4.4 para o 5.0 usando uma atualização "rolante" para minimizar o tempo de inatividade, atualizando os membros individualmente enquanto os outros membros estão disponíveis.
Atualize os membros secundários do conjunto de réplicas.
Atualize os membros secundários da réplicas para definir um de cada vez:
Desligue a instância
mongod
e substitua o binário 4.4 pelo binário 5.0.Reinicie o membro.
Reduza o conjunto de réplicas primário.
Conecte o mongosh
ao primário e use rs.stepDown()
para reduzir o primário e forçar a eleição de um novo primário.
Atualize o primary.
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:
Desligue o principal passo a passo e substitua o binário
mongod
pelo binário 5,0.Reinicie o membro.
Habilite recursos 5.0 incompatíveis com versões anteriores.
Neste ponto, você pode executar os binários do 5.0 sem as feições do 5,0 que são incompatíveis com 4.4.
Para habilitar essas funcionalidades do 5.0, defina feature compatibility version (fCV
) para 5.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: "5.0" } )
Definindo featureCompatibilityVersion (fCV) : "5,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.
Procedimentos de atualização adicionais
Para atualizar um standalone, consulte Atualizar um standalone para 5.0.
Para atualizar um cluster fragmentado, consulte Atualizar um cluster fragmentado para 5.0.