Tutorial sul set di repliche MongoDB: esempio di replica passo passo

Sommario:

Anonim

Cos'è la replica di MongoDB?

La replica si riferisce al processo che garantisce che gli stessi dati siano disponibili su più di un Mongo DB Server. Questo a volte è necessario allo scopo di aumentare la disponibilità dei dati.

Perché se il tuo server MongoDB principale si blocca per qualsiasi motivo, non ci sarà accesso ai dati. Tuttavia, se i dati sono stati replicati su un altro server a intervalli regolari, sarà possibile accedere ai dati da un altro server anche se il server primario non funziona.

Un altro scopo della replica è la possibilità di bilanciamento del carico. Se ci sono molti utenti che si connettono al sistema, invece di avere tutti collegati a un sistema, gli utenti possono essere collegati a più server in modo che vi sia un'equa distribuzione del carico.

In MongoDB, più server MongDB sono raggruppati in set chiamati set di replica. Il set di repliche avrà un server primario che accetterà tutte le operazioni di scrittura dai client. Tutte le altre istanze aggiunte al set dopo verranno chiamate istanze secondarie che possono essere utilizzate principalmente per tutte le operazioni di lettura.

In questo tutorial imparerai:

  • Set di repliche: aggiunta del primo membro utilizzando rs.initiate ()
  • Set di repliche: aggiunta di un secondario utilizzando rs.add ()
  • Set di repliche: riconfigurazione o rimozione utilizzando rs.remove ()
  • Risoluzione dei problemi relativi ai set di replica

Set di repliche: aggiunta del primo membro utilizzando rs.initiate ()

Come accennato nella sezione precedente, per abilitare la replica, dobbiamo prima creare un set di repliche di istanze di MongoDB.

Supponiamo che per il nostro esempio, abbiamo 3 server chiamati ServerA, ServerB e ServerC. In questa configurazione, ServerA sarà il nostro server primario e ServerB e ServerC saranno i nostri server secondari. Lo screenshot qui sotto darà un'idea migliore su di esso.

Di seguito sono riportati i passaggi da seguire per creare il set di repliche insieme all'aggiunta del primo membro al set.

Passaggio 1) Verificare che tutte le istanze di mongod.exe che verranno aggiunte al set di repliche siano installate su server diversi. Questo per garantire che anche se un server si arresta, gli altri saranno disponibili e quindi saranno disponibili altre istanze di MongoDB.

Passaggio 2) Assicurati che tutte le istanze di mongo.exe possano connettersi tra loro. Da ServerA, emetti i 2 comandi seguenti

mongo -host ServerB -port 27017
mongo -host ServerC -port 27017

Allo stesso modo, fai la stessa cosa dai server rimanenti.

Passaggio 3) Avvia la prima istanza di mongod.exe con l'opzione replSet. Questa opzione fornisce un raggruppamento per tutti i server che faranno parte di questo set di repliche.

mongo -replSet "Replica1"

Dove "Replica1" è il nome del set di repliche. È possibile scegliere qualsiasi nome significativo per il nome del set di repliche.

Passaggio 4) Ora che il primo server viene aggiunto al set di repliche, il passaggio successivo consiste nell'iniziare il set di repliche emettendo il seguente comando rs.initiate ()

Passaggio 5) Verificare il set di repliche immettendo il comando rs.conf () per assicurarsi che la replica sia configurata correttamente

Set di repliche: aggiunta di un secondario utilizzando rs.add ()

I server secondari possono essere aggiunti al set di repliche semplicemente utilizzando il comando rs.add. Questo comando accetta il nome dei server secondari e aggiunge i server al set di replica.

Passaggio 1) Supponiamo di avere ServerA, ServerB e ServerC, che devono essere parte del set di repliche e ServerA, è definito come server primario nel set di repliche.

Per aggiungere ServerB e ServerC al set di repliche, eseguire i comandi

rs.add("ServerB")rs.add("ServerC")

Set di repliche: riconfigurazione o rimozione utilizzando rs.remove ()

Per rimuovere un server dal set di configurazione, è necessario utilizzare il comando "rs.remove"

Passaggio 1) Per prima cosa eseguire un arresto dell'istanza che si desidera rimuovere. È possibile farlo eseguendo il comando db.shutdownserver dalla shell di mongo.

Passaggio 2) Connettiti al server primario

Passaggio 3) Utilizzare il comando rs.remove per rimuovere il server richiesto dal set di repliche. Supponiamo quindi di avere un set di repliche con ServerA, ServerB e ServerC e di voler rimuovere ServerC dal set di repliche, emettere il comando

rs.remove("ServerC")

Risoluzione dei problemi relativi ai set di replica

I passaggi seguenti sono gli stessi modi in cui è possibile risolvere i problemi quando si verificano problemi con l'utilizzo dei set di repliche.

  1. Assicurati che tutte le istanze di mongo.exe possano connettersi tra loro. Supponiamo di avere 3 server chiamati ServerA, ServerB e ServerC. Dal server A, emetti i seguenti 2 comandi
mongo -host ServerB -port 27017mongo -host ServerC -port 27017
  1. Esegui il comando rs.status. Questo comando fornisce lo stato del set di repliche. Per impostazione predefinita, ogni membro invierà messaggi l'un l'altro chiamati messaggi "heartbeat" che indicano solo che il server è vivo e funzionante. Il comando "status" ottiene lo stato di questi messaggi e mostra se ci sono problemi con i membri nel set di repliche.
  2. Controlla la dimensione dell'Oplog - L'Oplog è una raccolta in MongoDB che memorizza la cronologia delle scritture effettuate sul database MongoDB. MongoDB utilizza quindi questo Oplog per replicare le scritture sugli altri membri nel set di repliche. Per controllare Oplog, connettersi all'istanza del membro richiesta ed eseguire il comando rs.printReplicationInfo. Questo comando mostrerà la dimensione del registro e per quanto tempo può contenere le transazioni nel suo file di registro prima che si riempia.

Sommario:

  • La replica si riferisce al processo che garantisce che gli stessi dati siano disponibili su più di un Mongo DB Server. Molti membri (istanze di MongoDB) possono essere aggiunti al set di repliche a seconda dei requisiti.