replicação mongodb: nenhum eleito primário

2

Eu tenho três servidores com o mongod instalado rodando como um conjunto de replicação. De repente, as duas secundárias tornaram-se indisponíveis (o processo mongod morreu) - eu acho que elas estavam muito velhas.

O problema é que o PRIMARY original agora é o SECONDARY e meu aplicativo não funciona porque não pode se conectar a um PRIMARY.

Quero dizer, de que maneira isso me ajuda? Se o conjunto de réplicas não puder fazer o failover ?! Estou faltando alguma coisa?

Furhtermore, estou me perguntando por que os SECONDARIES morreram / por que eles estão muito velhos? O que posso fazer sobre isso?

FYI: Meu banco de dados é bem grande (40 GB no disco).

    
por Max 07.07.2012 / 09:38

1 resposta

4

A razão pela qual o seu primário agora não é mais primário é porque você tem que ter votos suficientes para formar a maioria em um conjunto de réplicas - no seu caso isso significa um mínimo de 2/3. Com o seu fracasso específico que não parece fazer sentido, mas em vez disso, imagine que o primário em questão se isolou dos dois secundários (um evento de rede, por exemplo). Nesse caso, você não desejaria duas eleições primárias eleitas, então, em vez disso, ele renunciaria até que pudesse ver os outros membros do grupo.

Para que o primário volte a funcionar, você precisa fazer uma das duas coisas:

  1. Recupere os outros membros do conjunto
  2. Reconfigure o conjunto para que a maioria possa ser formada (adicione mais membros, vá para um único)

Veja aqui mais informações sobre a opção de reconfiguração:

link

Basicamente, o seu conjunto de réplicas irá falhar, mas você tem que ter membros suficientes para fazer uma eleição.

Em termos de por que os secundários morreram, não posso dizer com base nas informações que você forneceu aqui, mas posso dizer que não é porque eles eram muito obsoletos. Um secundário que fica muito atrasado irá relatar como obsoleto, mas continuará correndo (e votando no primário) mesmo nesse estado, até que você o corrija e o atualize. Veja aqui como solucionar um membro obsoleto:

link

    
por 07.07.2012 / 16:58