3
respostas

Não reconhece nós secundários como nós secundários

Os nós secundários também estão sendo reconhecidos como primários:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeQuando verifico o status, tenho o seguinte retorno:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

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.

  1. 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.

  2. 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.

  3. 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").

  4. Verifique Logs e Erros: Olhe os logs do MongoDB para ver se há alguma mensagem de erro que possa indicar o problema.

  5. 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():

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeTbm adicionei o cluster no .conf:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Quando aplico o rs.status() agora:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadehttps://www.mongodb.com/pt-br/docs/manual/reference/method/rs.reconfig/