Faça upgrade para MongoDB Enterprise (cluster fragmentado)
O MongoDB Enterprise oferece várias funcionalidades não disponíveis no MongoDB Community Edition, como:
Mecanismo de armazenamento in-memory para implantações autogerenciadas
Autenticação de proxy LDAP autogerenciada e autorização LDAP em implementações autogerenciadas
As etapas a seguir esboçam o procedimento para atualizar um cluster fragmentado do MongoDB Community Edition para o MongoDB Enterprise Edition. Por exemplo, as etapas podem ser usadas para atualizar o MongoDB 7.0 Comunidade para MongoDB 7.0 Enterprise.
Consideração
Aviso
Não use estas instruções para atualizar a versão. Para atualizar as versões de lançamento, consulte as instruções de atualização de lançamento apropriadas, como Fazer upgrade para o MongoDB 8.0.
Baixar binários do Enterprise
Dependendo do seu sistema operacional, você pode instalar os binários do MongoDB Enterprise usando um gerenciador de pacotes ou baixando os binários manualmente.
Se você instalou o MongoDB Community usando um gerenciador de pacotes, siga as instruções do gerenciador de pacotes para o seu sistema operacional:
Durante a instalação, o gerenciador de pacotes removerá os pacotes da comunidade; isso não afetará a implementação em execução até que você a reinicie.
Se você não tiver instalado o MongoDB usando um gerenciador de pacote , poderá fazer o download manual dos binários do MongoDB no Centro de Download do MongoDB. Siga as instruções do manual, incluindo pré-requisitos específicos do MongoDB Enterprise, para seu sistema operacional:
Importante
Instale em um local diferente daquele da sua MongoDB Community Edition atual.
No procedimento de atualização, você utilizará a linguagem de definição de dados (DDL) existente e, se aplicável, o arquivo de configuração existente.
Importante
Você não pode usar o .msi
para instalar a edição Enterprise se tiver o MongoDB Community Edition da mesma série de versões instalada na mesma máquina. Isto é, se você tiver a versão 4.4.0 MongoDB Community Edition instalado, você não pode utilizar o .msi
para instalar o 4.4.0 ou 4.4.1 Edição Empresarial.
Baixe manualmente o arquivo compactado na Central de download do MongoDB .
Para instalar, extraia/descompacte o arquivo em um local diferente daquele da sua MongoDB Community Edition atual.
No procedimento de atualização, você utilizará a linguagem de definição de dados (DDL) existente e, se aplicável, o arquivo de configuração existente.
Instale os binários:
Baixe manualmente o arquivo compactado na Central de download do MongoDB .
Extraia os arquivos para um local diferente do da sua MongoDB Community Edition atual. Para obter detalhes sobre como extrair os arquivos, consulte macOS.
No procedimento de atualização, você utilizará a linguagem de definição de dados (DDL) existente e, se aplicável, o arquivo de configuração existente.
Antes de começar
A partir do MongoDB 8.0, você pode usar a função directShardOperations
para realizar operações de manutenção que exigem que você execute comandos diretamente em um shard.
Aviso
Executar comandos utilizando a função directShardOperations
pode fazer com que seu cluster pare de funcionar corretamente e pode causar corrupção de dados. Use a função directShardOperations
apenas para fins de manutenção ou sob a orientação do suporte do MongoDB . Quando terminar de executar as operações de manutenção, pare de usar a função directShardOperations
.
Procedimento
Para minimizar o tempo de inatividade, você pode atualizar do MongoDB Community para o Enterprise Edition usando uma atualização "contínua" atualizando os membros individualmente enquanto os outros membros estão disponíveis.
Desabilitar o Balanceador.
Conecte o mongosh
a uma instância do mongos
no cluster fragmentado e execute o sh.stopBalancer()
para desabilitar o balanceador:
sh.stopBalancer()
Observação
Se houver uma migração em andamento, o sistema concluirá essa migração antes de encerrar o balanceador. Você pode executar sh.isBalancerRunning()
para verificar o estado atual do balanceador.
Para verificar se o balanceador está desativado, execute sh.getBalancerState()
, que retorna falso se o balanceador estiver desativado:
sh.getBalancerState()
A partir do MongoDB 6.0.3, a divisão automática de partes não é executada. Isso se deve a melhorias na política de balanceamento. Os comandos de divisão automática ainda existem, mas não executam uma operação.
Nas versões do MongoDB anteriores à 6.0.3, sh.stopBalancer()
também desativa a divisão automática do cluster fragmentado.
Para obter mais informações sobre como desabilitar o balanceador, consulte Desabilitar o balanceador.
Atualize os servidores de configuração.
Atualize os membros secundários da réplicas para definir um de cada vez:
Desligue a instância
mongod
secundária.Reinicie o nó com o
mongod
Enterprise, especificando as mesmas opções de configuração (por exemplo, mesmo diretório de dados, mesmo arquivo de configuração etc).Aguarde até que o membro se recupere com o estado
SECONDARY
antes de atualizar o próximo membro secundário. Para verificar o estado do membro, emitars.status()
emmongosh
.
Repita para cada membro secundário restante.
Reduza o conjunto de réplicas primário.
Conecte
mongosh
ao primário e users.stepDown()
para reduzir o primário e forçar a eleição de um novo primário:rs.stepDown() Quando
rs.status()
mostrar que o primário foi desativado e outro membro é primário, faça upgrade do primário desativado:Encerrar o primário de redução
Reinicie com o Enterprise
mongod
, especificando as mesmas opções de configuração (por exemplo, mesmo diretório de dados, arquivo de configuração etc).
Atualize os fragmentos.
Atualize os fragmentos um de cada vez.
Para cada conjunto de réplicas do fragmento:
Atualize os membros secundários da réplicas para definir um de cada vez:
Desligue a instância
mongod
secundária.Reinicie o nó com o
mongod
Enterprise, especificando as mesmas opções de configuração (por exemplo, mesmo diretório de dados, mesmo arquivo de configuração etc).Aguarde até que o membro se recupere com o estado
SECONDARY
antes de atualizar o próximo membro secundário. Para verificar o estado do membro, emitars.status()
emmongosh
.
Repita para cada membro secundário restante.
Reduza o conjunto de réplicas primário.
Conecte
mongosh
ao primário e users.stepDown()
para reduzir o primário e forçar a eleição de um novo primário:rs.stepDown() Quando
rs.status()
mostrar que o primário foi desativado e outro membro é primário, faça upgrade do primário desativado:Encerrar o primário de redução
Reinicie com o Enterprise
mongod
, especificando as mesmas opções de configuração (por exemplo, mesmo diretório de dados, arquivo de configuração etc).
Reabilitar o balanceador.
Utilizando mongosh
, conecte-se a um mongos
no cluster e execute sh.startBalancer()
para reativar o balanceador:
sh.startBalancer()
A partir do MongoDB 6.0.3, a divisão automática de partes não é executada. Isso se deve a melhorias na política de balanceamento. Os comandos de divisão automática ainda existem, mas não executam uma operação.
Nas versões MongoDB anteriores a 6.0.3, o sh.startBalancer()
também habilita a divisão automática para o cluster fragmentado.
Para obter mais informações sobre o balanceador, consulte Habilitar o balanceador.
Importante
Antes de usar qualquer recurso do Enterprise, certifique-se de que todos os membros tenham sido atualizados para a edição Enterprise.