Os nós secundários também estão sendo reconhecidos como primários:
Quando verifico o status, tenho o seguinte retorno:
Os nós secundários também estão sendo reconhecidos como primários:
Quando verifico o status, tenho o seguinte retorno:
Olá, Jorge!
Parece que você está enfrentando um problema com a configuração dos nós do seu conjunto de réplicas no MongoDB. Vamos tentar resolver isso juntos.
Verifique a Conexão dos Nós: Certifique-se de que todos os nós estão corretamente conectados e configurados. Você pode usar o comando rs.status()
no mongosh
para verificar o status atual dos nós.
Configuração do Replica Set: Confira se a configuração do seu conjunto de réplicas está correta. Use rs.conf()
para ver a configuração atual. Verifique se os endereços e portas dos nós estão corretos.
Iniciar o Replica Set: Se você ainda não fez isso, inicialize o conjunto de réplicas com rs.initiate()
. Depois, adicione os nós secundários com rs.add("localhost:27019")
e rs.add("localhost:27020")
.
Verifique Logs e Erros: Olhe os logs do MongoDB para ver se há alguma mensagem de erro que possa indicar o problema.
Ajuste de Prioridade e Eleições: Se necessário, ajuste as prioridades dos nós para garantir que apenas um nó seja o primário. Isso pode ser feito na configuração do replica set.
Se o problema persistir, pode ser útil reiniciar os serviços do MongoDB ou verificar se há algum problema de rede que possa estar impedindo a comunicação entre os nós.
Espero ter ajudado e bons estudos!
O retorno do rs.status() foi enviando, esse é o retorno do rs.conf():
Tbm adicionei o cluster no .conf:
Quando aplico o rs.status() agora:
Resolvido.
Primeiro, o erro no retorno do rs.status()
se devia há algum arquivo corrompido no pasta do nó primário. Eu recriei o cluster novamente. Contudo, todos os nós foram criados com o parâmetro priority
igual a 1. Então, no nó primário, apliquei as seguinte configuração:
cfg = rs.conf();
cfg.members[0].priority = 2
rs.reconfig(cfg)``
cfg = rs.conf();
cfg.members[1].priority = 1
rs.reconfig(cfg);
cfg = rs.conf();
cfg.members[2].priority = 1
rs.reconfig(cfg);
Membro de id 0 terá preferência como primário, enquanto membros de id 1 e 2 disputarão o posto caso o membro de id 0 não tenha sido iniciado.
https://www.mongodb.com/pt-br/docs/manual/reference/method/rs.reconfig/