Atualize para a versão de patch autogerenciada mais recente do MongoDB
Nesta página
A versão do MongoDB tem o formulário X.Y.Z
onde Z
se refere ao número de revisão/patch. As revisões fornecem patches de segurança, correções de bugs e recursos novos ou alterados que, em geral, não contêm nenhuma alteração interruptiva. Sempre atualize para a revisão mais recente em sua série de lançamentos.
Para mais informações sobre versionamento, consulte Versionamento do MongoDB.
Antes de atualizar
Backup.
Verifique se você tem um backup atualizado do seu conjunto de dados. Consulte Métodos de backup para um sistema autogerenciado.
Considerações de compatibilidade
Consulte os documentos a seguir para considerações especiais ou problemas de compatibilidade específicos de sua versão do MongoDB:
As notas de versão, localizadas em Notas de Versão.
A documentação do driver.
Importante
A partir do MongODB 4.2, o MongoDB remove o suporte para o Ubuntu 16.04 PPCLE.
Começando no MongoDB 3,6,13, A série 3.6 do MongoDB remove o suporte para o Ubuntu 16.04 PPCLE.
Começando no MongoDB 3.4.21, A série 3.4 do MongoDB remove o suporte para o Ubuntu 16.04 PPCLE.
Janela de manutenção
Se a sua instalação incluir conjuntos de réplicas, planeje a atualização durante uma janela de manutenção predefinida.
Fluxos de alterações
A partir do MongoDB 4,0,7, change stream usam tokens de retomada v1
versão 1. Versões do MongoDB anteriores à 4.0.7 usam v0
tokens de retomada.
Ao atualizar do MongoDB 4.0.6 ou anterior para o MongoDB 4.0.7 ou posterior, um cliente pode tentar retomar os change stream usando o novo token de retomada v1
quando conectado a um membro que não foi atualizado (ou seja, aceita apenas v0
ou token BinData) e falha. Nesses casos, o cliente deve aguardar a conclusão da atualização antes de retomar o change stream.
Verificação do ambiente de preparo
Antes de atualizar um ambiente de produção, use os procedimentos deste documento para atualizar um ambiente de preparação que reproduz seu ambiente de produção, para garantir que sua configuração de produção seja compatível com todas as alterações.
Procedimento de atualização
Importante
Sempre faça backup de todos os seus dados antes de atualizar o MongoDB.
Atualize cada mongod
e mongos
binário separadamente, utilizando o procedimento descrito aqui. Ao atualizar um binário, use o procedimento Atualizar uma instância do MongoDB.
Siga este procedimento de atualização:
Para implantações que usam autenticação, primeiro faça upgrade de todos os seus drivers do MongoDB. Para fazer upgrade, consulte a documentação do driver.
Atualize clusters fragmentados, conforme descrito em Fazer upgrade de clusters fragmentados.
Faça upgrade de quaisquer instâncias autônomas. Consulte Faça upgrade de uma instância do MongoDB.
Atualize quaisquer conjuntos de réplicas que não façam parte de um cluster fragmentado, conforme descrito em Atualização de conjuntos de réplicas.
Atualizar uma instância do MongoDB
Para atualizar uma instância mongod
ou mongos
, use uma destas abordagens:
Atualize a instância usando a ferramenta de gerenciamento de pacotes do sistema operacional e os pacotes oficiais do MongoDB. Essa é a abordagem preferencial. Consulte Instale o MongoDB.
Atualize a instância substituindo os binários existentes por novos binários. Consulte Substitua os binários existentes.
Faça as alterações necessárias no arquivo de configuração antes de reiniciar a instância.
Substitua os binários existentes
Importante
Sempre faça backup de todos os seus dados antes de atualizar o MongoDB.
Esta seção descreve como atualizar o MongoDB substituindo os binários existentes. A abordagem preferencial para uma atualização é usar a ferramenta de gerenciamento de pacotes do sistema operacional e os pacotes oficiais do MongoDB, conforme descrito em Instale o MongoDB.
Para atualizar uma instância do mongod
ou mongos
substituindo os binários existentes:
Baixe os binários para a revisão mais recente do MongoDB na página de download do MongoDB e armazene os binários em um local temporário. Os binários são baixados como arquivos compactados que descompactam na estrutura de diretórios usada pela instalação do MongoDB.
Desligue a instância.
Substitua os binários MongoDB existentes pelos binários baixados.
Faça as alterações necessárias no arquivo de configuração.
Reinicie a instância.
Atualizar conjuntos de réplicas
Para atualizar um conjunto de réplicas, atualize cada membro individualmente, começando com os secundários e terminando com o principal. Planeje a atualização durante um período de manutenção predefinido.
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.
Observação
A partir do MongoDB 4,0,7, o change stream usa tokens de retomada v1
versão . Versões do MongoDB anteriores à 4.0.7 usam tokens de currículo v0
ou tokens de currículo BinData.
Ao atualizar do MongoDB 4.0.0-4.0.6 para o MongoDB 4.0.7 ou posterior, um cliente pode tentar retomar os change stream usando o novo token de retomada v1
quando conectado a um membro que não foi atualizado (ou seja aceita apenas token v0
ou BinData) e falha. Nesses casos, o cliente deve aguardar a conclusão da atualização antes de retomar o change stream.
Atualize os secundários
Faça o upgrade de cada secundário separadamente da seguinte forma:
Atualize o binário do secundário
mongod
seguindo as instruções em Atualize uma instância MongoDB.Depois de atualizar um secundário, aguarde até que o secundário se recupere para o estado
SECONDARY
antes de atualizar a próxima instância. Para verificar o estado do membro, emitars.status()
emmongosh
.O secundário pode entrar brevemente em
STARTUP2
ouRECOVERING
. Isso é normal. Certifique-se de aguardar até que o secundário se recupere totalmente paraSECONDARY
antes de continuar a atualização.
Atualize o primário
Reduza o primário para iniciar o procedimento de failover normal. Usando uma das seguintes opções:
O assistente
rs.stepDown()
emmongosh
.O comando do banco de dados do
replSetStepDown
.
Durante o failover, o conjunto não pode aceitar gravações. Normalmente, isso leva de 10 a 20 segundos. Planeje a atualização durante uma janela de manutenção predefinida.
Observação
É preferível reduzir o primário do que desligá-lo diretamente. A saída agiliza o procedimento de failover.
Depois que o primário for reduzido, chame o método
rs.status()
demongosh
até que você veja que outro membro assumiu o estadoPRIMARY
.Desligue o primário original e atualize sua instância seguindo as instruções em Fazer upgrade de uma instância do MongoDB.
Atualizar clusters fragmentados
Alterado na versão 3.4: O procedimento se aplica à 6.0. Para fazer atualizações de revisão para outras versões de clusters fragmentados do MongoDB, consulte a versão apropriada do manual.
Observação
A partir do MongoDB 4,0,7, o change stream usa tokens de retomada v1
versão . Versões do MongoDB anteriores à 4.0.7 usam tokens de currículo v0
ou tokens de currículo BinData.
Ao atualizar do MongoDB 4.0.6 ou anterior para o 4.0.7 ou posterior, os membros dos clusters fragmentados continuarão a produzir tokens de retomada v0
ou BinData até que as instâncias mongos
sejam atualizadas. As instâncias mongos
atualizadas começarão a produzir v1
tokens de retomada do change stream. Esses tokens não podem ser usados para retomar um stream em um mongos
que ainda não tenha sido atualizado para a versão 4.0.7 ou posterior.
Para atualizar um cluster fragmentado 6.0:
Desative o balanceador do cluster conforme descrito em Desabilite o balanceador.
Atualize os servidores de configuração.
Para atualizar o conjunto de réplicas do servidor de configuração, use os procedimentos descritos em Atualize os conjuntos de réplicas.
Atualize cada fragmento.
Se um fragmento for um conjunto de réplicas, atualize o fragmento utilizando o procedimento intitulado Atualizar conjuntos de réplicas.
Se um fragmento for uma instância autônoma, atualize o fragmento usando o procedimento intitulado Atualize uma instância do MongoDB.
Após os servidores de configuração e os fragmentos terem sido atualizados, atualize cada instância do
mongos
seguindo as instruções na página Atualizar uma instância do MongoDB. É possível atualizar as instâncias domongos
em qualquer ordem.Reative o balanceador, conforme descrito em Ative o balanceador.