Latest web development tutorials

MongoDB Kopie (replica set)

MongoDB Replikation ist der Prozess der Datensynchronisation über mehrere Server.

Kopieren Sie sorgt für eine redundante Backup-Daten und speichern Kopien von Daten auf mehreren Servern die Verfügbarkeit von Daten zu verbessern und die Sicherheit der Daten gewährleisten.

Kopieren Sie können Sie auch in Daten von Hardwareausfällen und Betriebsunterbrechung zu erholen.


Was ist eine Kopie?

  • Datensicherheitsmaßnahmen
  • Hohe Datenverfügbarkeit (24 * 7)
  • Disaster Recovery
  • Keine Ausfallzeit Wartung (wie Backup, erstellen Sie die Indizes, Kompression)
  • Verteilte Daten gelesen

MongoDB Replication Works

mongodb Replikation erfordert mindestens zwei Knoten. Einer der Hauptknoten ist zur Handhabung von Client-Anforderungen verantwortlich, und der Rest von dem Knoten für die Daten auf dem primären Knoten repliziert werden.

MongoDB jeden Knoten gemeinsam mit der Art und Weise: eine Master-Slave, ein Master-Multi-Slave.

Stammsatz, auf dem alle Operationen oplog, von dem Knoten in regelmäßigen Abständen diese Operationen abfragen Master erhalten, führen Sie diese Vorgänge auf ihre eigene Kopie der Daten aus den Daten, um die Übereinstimmung mit dem Master-Knoten zu gewährleisten.

MongoDB replizierte Struktur ist unten dargestellt:

MongoDB Replikation Diagramm

Die obige Struktur der Gesamt liest Gesamt Client Master-Knoten die Daten, wird der Client Daten an den primären Knoten geschrieben wird der Masterknoten und der Datenaustausch auf der Datenkonsistenz von dem Knoten gewährleisten.

Replica Set Features:

  • N Cluster-Knoten
  • Jeder Knoten kann als Master-Knoten verwendet werden
  • Alle Schreiboperationen auf dem Primärknoten
  • Automatisches Failover
  • Automatische Wiederherstellung

MongoDB Replikatssatz Einstellungen

In diesem Tutorial verwenden wir die gleiche Master-Slave-MongoDB MongoDB tun Experimente mit den folgenden Schritten:

1. Schließen Sie MongoDB-Server läuft.

Lassen Sie uns nun durch die Angabe mongoDB --replSet Option starten. --replSet grundlegende Syntax lautet wie folgt:

mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"

Beispiele

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0

Die obigen Beispiele MongoDB-Instanz namens rs0 starten, ist die Portnummer 27017.

Öffnen Sie eine Eingabeaufforderung nach Feld Starten und verbunden mongoDB Service.

In Mongo Client verwendet den Befehl rs.initiate () ein neues Replikat zu starten.

Wir können rs.conf () verwenden, um die Konfiguration der Replikat-Gruppe zu sehen

Überprüfen Sie den Status eines Replikatsatzes mit rs.status () Befehl


Mitglieder Replica Set hinzufügen

Fügen Sie ein Mitglied der Replikat-Gruppe, müssen wir mehrere Server zu verwenden Mongo-Dienst zu starten. Geben Sie Mongo Client und verwenden rs.add () -Methode Mitglieder der Replikat-Gruppe hinzuzufügen.

Grammatik

rs.add () Befehl grundlegende Syntax lautet wie folgt:
>rs.add(HOST_NAME:PORT)

Beispiele

eine Gruppe namens mongod1.net, die Portnummer 27017 von Mongo Service Angenommen, Sie haben begonnen. Im Client-Befehlsfenster mit rs.add () Befehl an die Replikat-Gruppe hinzuzufügen, ist der Befehl wie folgt:

>rs.add("mongod1.net:27017")
>

MongoDB Sie nur Knoten fügt Mongo-Service zum Replikatssatz meistern kann, ist es, ob der Dienst derzeit ermittelt wird, Mongo Primärknoten ausgeführt wird, können Sie den Befehl db.isMaster () verwenden.

MongoDB Replikatsatzes mit unserem gemeinsamen Master und Slave unterscheidet sich von dem Master, nachdem der Host alle Dienste ist nach unten gestoppt wird, und nach dem Replikat-Host abgesetzt, eine Kopie wird dem Primärknoten übernehmen wird der Master-Knoten und keine Ausfallzeiten auftreten Situation.