So setzen Sie die Einstellungen für MongoDB-Replikatsätze zurück


16

Ich möchte die Konfigurationen der Replik neu beginnen. Ist das möglich? Wie kann ich es zurücksetzen?

In der Gruppe sagen die Leute, sie sollen den Datenbankinhalt entfernen, aber gibt es eine Abhilfe?

Antworten:


19

Wenn Sie die Daten behalten möchten, aber außerhalb eines Replikatsets starten möchten, starten Sie den mongod-Prozess ohne --replSetund an einem anderen Port neu. Das gibt dir einen eigenständigen Mongod.

Stellen Sie sicher, dass die local.system.replsetAuflistung leer ist , um sicherzustellen, dass die Replikatsatzkonfiguration nicht mehr in der Instanz vorhanden ist.

Sobald dies erledigt ist und Sie mit Ihrer eigenständigen Instanz zufrieden sind, können Sie einen Neustart mit einem anderen --replSetArgument durchführen und den Konfigurationsprozess für den Replikatsatz erneut durchführen:

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

Die andere Möglichkeit ist, wie Sie bereits erwähnt haben, alle Datendateien zu entfernen und ganz von vorne zu beginnen.


// Server an einem anderen als dem zugewiesenen Port starten, aber mit demselben Db-Ordner. Verbindung über Mongoi-Client mit neuem Port: Verwenden Sie die lokale Datei db.system.replset.remove ({"_id": "replset"}) // Ändern Sie das Replset in Anführungszeichen in Ihren Namen? db.system.replset.find () db.adminCommand ({shutdown: 1}) // dann auf einem anderen Port neu starten
tgkprog

5

Sie müssen keine Datenbankdateien entfernen, um die Konfiguration Ihres Replikatsets zurückzusetzen.

Stellen Sie zum Zurücksetzen der Konfiguration sicher, dass alle Knoten in Ihrem Replikatsatz gestoppt sind. Löschen Sie dann die "lokale" Datenbank für jeden Knoten.

Wenn Sie sicher sind, dass nicht alle Knoten ausgeführt werden und die "lokale" Datenbank nicht mehr vorhanden ist, starten Sie den mongod-Prozess erneut (natürlich mit dem Flag --replSet). Führen Sie dann rs.initiate () aus.



1
  1. editieren /etc/mongod.confund auskommentierenreplication: block
  2. service mongod restart
  3. mongo local --eval "db.dropDatabase()"
  4. service mongod stop
  5. auf mongo primär: rs.add("this node")
  6. bearbeiten /etc/mongod.confund kommentieren Sie diereplication: block
  7. service mongod restart

Ihr Knoten wird dem vorhandenen Replikatsatz hinzugefügt und beginnt mit der Synchronisierung mit dem vorhandenen Primärknoten

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.