Comment réinitialiser les paramètres du jeu de répliques MongoDB

16

Je veux recommencer les configurations de réplique, est-ce possible? Comment le réinitialiser?

Dans le groupe, les gens disent de supprimer le contenu de la base de données, mais y a-t-il une solution?

Ryan
la source

Réponses:

19

Si vous souhaitez conserver les données, mais commencez en dehors d'un jeu de réplicas, redémarrez simplement le processus mongod sans le --replSetet sur un port différent. Cela vous donnera un mongod autonome.

Pour être complètement sûr que la configuration du jeu de réplicas a disparu de l'instance, assurez-vous que la local.system.replsetcollection est vide.

Une fois que cela est fait et que vous êtes satisfait de votre instance autonome, vous pouvez ensuite redémarrer avec un --replSetargument différent et recommencer le processus de configuration du jeu de réplicas:

http://www.mongodb.org/display/DOCS/Replica+Set+Configuration

L'autre option, comme vous le mentionnez, consiste à supprimer tous les fichiers de données et à recommencer complètement à zéro.

Adam C
la source
// démarre le serveur sur un port différent de celui attribué mais avec le même dossier Db. se connecter via le client mongoi au nouveau port: utilisez local db.system.replset.remove ({"_ id": "replset"}) // changer le replset entre guillemets à votre nom? db.system.replset.find () db.adminCommand ({shutdown: 1}) // puis redémarrez sur un autre port
tgkprog
5

Vous n'avez pas besoin de supprimer les fichiers de base de données pour réinitialiser la configuration de votre jeu de réplicas.

Pour réinitialiser la configuration, assurez-vous que chaque nœud de votre jeu de réplicas est arrêté. Supprimez ensuite la base de données "locale" pour chaque nœud.

Une fois que vous êtes sûr que tous les nœuds ne sont pas en cours d'exécution et que la base de données "locale" a disparu, redémarrez le processus mongod (bien sûr en utilisant l'indicateur --replSet). Exécutez ensuite rs.initiate ().

akskung
la source
4
  1. Aller à mongo shell sur les serveurs secondaires

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

    use admin
    db.shutdownServer()
    
  3. accédez au shell mongo principal et tapez les commandes ci-dessous:

    rs.remove()
    

    pour vérifier l'état, utilisez rs.status()

Pour plus d'informations, veuillez consulter le lien ci-dessous: http://www.learnit.net.in/2016/03/stopping-and-starting-mongodb.html

Shrinivas Kalangutkar
la source
1
  1. modifier /etc/mongod.confet commenterreplication: block
  2. service mongod restart
  3. mongo local --eval "db.dropDatabase()"
  4. service mongod stop
  5. sur mongo primaire: rs.add("this node")
  6. modifier /etc/mongod.confet décommenter lereplication: block
  7. service mongod restart

Votre nœud sera ajouté au jeu de réplicas existant et commencera la synchronisation avec le primaire existant

blueheart_2
la source