ApsaraDB for MongoDB permite reiniciar uma instância, um componente ou um nó para resolver problemas como conexões esgotadas ou degradação de desempenho.
Limitações
É possível reiniciar componentes apenas em instâncias de cluster com sharding.
É possível reiniciar nós apenas em instâncias que utilizam Cloud Disks.
Observações de uso
A reinicialização de uma instância interrompe e reinicia seus processos, encerrando todas as conexões ativas. Certifique-se de que sua aplicação possua um mecanismo de reconexão automática.
Os processos Mongod e Mongos geralmente iniciam em até 30 segundos. No entanto, se a instância tiver mais de 10.000 coleções, o tempo de inicialização do Mongod pode levar vários minutos. Não é possível conectar-se ao nó até que a inicialização seja concluída. Para evitar tempos prolongados de reinicialização, mantenha o número de coleções em 10.000 ou menos. Para mais informações, consulte a documentação oficial do MongoDB.
Após a reinicialização de uma instância de replica set, as funções dos nós podem mudar. Use uma URI de string de conexão de alta disponibilidade (HA) no ambiente de produção. Para mais detalhes, veja Connect to a replica set instance.
Durante a reinicialização de uma instância de cluster com sharding, as conexões são interrompidas conforme os processos Mongos reiniciam. Use uma URI de string de conexão HA no ambiente de produção e inclua os endereços de conexão de pelo menos dois nós Mongos na URI. Para mais informações, consulte Connect to a sharded cluster instance.
Ao reiniciar um único nó em uma instância de replica set, as funções dos nós podem mudar. Use uma URI de string de conexão HA no ambiente de produção. Para mais detalhes, veja Connect to a replica set instance.
Ao reiniciar um único nó dentro de um shard de uma instância de cluster com sharding, as conexões do cliente não são interrompidas, mas operações de escrita podem falhar. Tente repetir as operações de escrita que falharem.
Procedimento
Reiniciar instância
Faça login no console do ApsaraDB for MongoDB.
No painel de navegação à esquerda, clique em Replica Set Instances ou Sharded Cluster Instances, dependendo do tipo da instância.
Na parte superior da página, selecione o grupo de recursos e a região onde a instância está localizada.
Na coluna Actions da instância desejada, clique em More e selecione Restart.
-
Na caixa de diálogo Restart Instance, clique em Confirm.
Durante o processo, o status da instância muda para Restarting. Quando o status retornar para Running, a reinicialização da instância estará concluída.
Reiniciar componente
É possível reiniciar componentes apenas em instâncias de cluster com sharding.
Acesse a página Sharded Cluster Instances. Na parte superior da página, selecione um grupo de recursos e uma região e clique no ID da instância desejada.
Na seção Mongos List ou Shard List, localize o componente que deseja reiniciar. Na coluna Actions, clique no ícone
e selecione Restart.-
Na caixa de diálogo Restart Node, clique em Confirm.
Durante o processo, o status da instância muda para Restarting. Quando o status retornar para Running, a reinicialização do componente estará concluída.
Reiniciar nó
Acesse a página Replica Set Instances ou Sharded Cluster Instances. Na parte superior da página, selecione um grupo de recursos e uma região e clique no ID da instância desejada.
Na página de detalhes da instância, no painel de navegação à esquerda, clique em Service Availability.
Localize o nó que deseja reiniciar e clique em Restart Node na coluna Actions.
-
Na caixa de diálogo Restart Node, clique em Confirm.
Durante o processo, o status da instância muda para Restarting Node. Quando o status retornar para Running, a reinicialização do nó estará concluída.
Perguntas frequentes
-
P1: O que acontece quando uma instância de replica set é reiniciada e como isso afeta o service?
O sistema reinicia os nós na seguinte ordem: nó oculto, nós secundários e somente leitura; em seguida, executa um failover entre os nós primário e secundário e, por fim, reinicia o antigo nó primário. O impacto no seu service é descrito abaixo:
Reinicialização de um nó oculto: Nenhum impacto no service.
Reinicialização de um nó secundário: Todas as conexões com o nó secundário são interrompidas e o cliente precisa se reconectar. O nó primário permanece disponível e as operações de escrita não são afetadas. Contudo, operações de leitura configuradas com
readPreference=Secondarysofrem impacto.Reinicialização de um nó somente leitura: Todas as conexões com este nó são interrompidas e o cliente precisa se reconectar. O nó primário continua disponível e as escritas não são afetadas. Entretanto, leituras configuradas com
readPreference=secondary&readPreferenceTags=role:readonlysão impactadas. Se houver múltiplos nós somente leitura, o tráfego de leitura é temporariamente direcionado para outro nó disponível durante a reinicialização.Failover: Ocorre uma desconexão transitória de aproximadamente 30 segundos. Caso sua aplicação se conecte usando o endereço do nó primário, a mudança de função pode afetar operações de leitura e escrita, causando falhas de escrita.
Reinicialização do antigo nó primário: Todas as conexões com este nó (que passa a ser secundário após o failover) são interrompidas e o cliente deve se reconectar. O impacto equivale ao de reiniciar um nó secundário.
-
P2: O que acontece quando uma instância de cluster com sharding é reiniciada e qual o impacto no service?
O sistema reinicia os componentes na seguinte ordem: nós de shard, nós do config server e, por fim, nós Mongos. Os impactos no service são:
Nós de shard: Vários nós de shard são reiniciados em paralelo. As conexões do cliente não são interrompidas, mas operações de escrita podem falhar. Tente repetir as escritas que falharem.
Nós do config server: Nenhum impacto no service.
Nós Mongos: Múltiplos nós Mongos são reiniciados simultaneamente. Todas as conexões com esses nós são interrompidas. Certifique-se de que sua aplicação tenha um mecanismo de reconexão automática.
-
P3: Por que a instância continua exibindo "Restarting" após a reinicialização?
Se você definiu o horário da troca para a janela de manutenção, o status da instância permanecerá como "Restarting" até que a troca seja concluída no horário especificado da janela de manutenção.