web-dev-qa-db-fra.com

Arrêter le jeu de répliques MongoDB

La commande permettant de démarrer un jeu de réplicas dans le shell MongoDB est rs.initiate ().

Quel est le contraire de cette commande. Comment puis-je arrêter le jeu de réplicas?

Il existe des commandes permettant de reconfigurer l'ensemble ou de supprimer des membres, mais aucun moyen, à ma connaissance, de supprimer le dernier membre et par conséquent de détruire le jeu de réplicas.

16
Josh Elias

Tout dépend de votre objectif. Si vous souhaitez réutiliser la mongod existante en tant que serveur autonome plutôt qu'en tant que membre d'un jeu de réplicas, procédez comme suit:

  1. Redémarrez le processus mongod sans l'argument --replSet.
  2. Supprimer la base de données locale:

    use local;
    db.dropDatabase();
    
34
Asya Kamsky

J'ai juste ce problème en production. Le commentaire de @ maganap (15 mars) a sauvé mon bacon! 

Avec mongodb 3.2.10, inutile de vider le journal des opérations, faites-le simplement sur le premier membre:

use local
db.system.replset.remove({}) 

Puis redémarrez le membre. Il reste maintenant son oplog et ses données. Il suffit de courir:

rs.initiate()
rs.reconfig(conf)

Où conf est la nouvelle conf. Ensuite, sur chacun des autres membres, exécutez simplement la suppression des données du jeu de réplication ci-dessus et redémarrez-les. Quand ils commenceront, ils rejoindront l'ensemble. 

4
ABrowne

1) Allez sur le shell mongo sur les serveurs secondaires

2) Arrêtez les serveurs secondaires en utilisant la commande ci-dessous:

use admin db.shutdownServer()

2] Allez sur le serveur secondaire Linux Shell et tapez la commande ci-dessous:

Sudo service mongod stop

Pour plus d'informations, s'il vous plaît vérifier le lien ci-dessous:

http://www.tutespace.com/2016/03/stopping-and-starting-mongodb.html

0