mongo replica definido como servidor único

2

Eu tenho um conjunto de réplicas mongodb e quero movê-lo para uma configuração de servidor único

É tão simples quanto fazer um rs.remove() para os outros 2 nós?

    
por Bob 17.05.2012 / 03:07

3 respostas

3

No nó primário atual do conjunto de réplicas, você pode emitir rs.remove() para esses nós e, assim, interromper as tentativas de replicação para eles.

Você provavelmente terá que desligar o servidor que deseja executar no modo único e iniciá-lo novamente sem a opção --replSet <name> (ou qualquer que seja a configuração no arquivo de configuração), pois isso iniciará o servidor no modo único e não tente replicar para nenhum outro nó.

    
por 17.05.2012 / 14:42
2

Você pode pular a remoção completamente e, de fato, deveria. Para explicar: se você rs.remove () um de cada vez, depois da primeira remoção você terminará sem votos suficientes para formar uma maioria (impossível ter uma maioria com dois nós).

Então, como Mike sugeriu, basta reiniciar o primário sem --replSet (ou o equivalente no arquivo de configuração) e desligar os outros nós.

    
por 17.05.2012 / 18:46
0

Na minha experiência para desativar completamente o failover (e remover o primário atual do pool), é necessário fazer o seguinte:

  • Do primário atual, use rs.remove() para remover todos os nós secundários do grupo.
  • Pare o mongod no primário atual.
  • Siga as instruções aqui - ou seja, exclua todos os arquivos locais * na primária instanciar e remover qualquer configuração do conjunto de réplicas do arquivo de configuração mongo do primário.
  • Inicie o mongod no primário atual.

Isso fará com que seu antigo primário seja o seu novo servidor único (todos os outros servidores podem ser desligados / destruídos).

Sempre que eu tentei uma reinicialização simples sem qualquer configuração de réplica config / o sinalizador --replSet, isso não funcionou, presumivelmente porque o banco de dados local ainda tem configuração para o conjunto de réplicas.

    
por 06.08.2015 / 12:09

Tags