MongoDB Replica: come creare MongoDB Set di repliche

Che cos'è la MongoDB Replica?

Per replica si intende il processo volto a garantire che gli stessi dati siano disponibili su più di un server Mongo DB. Ciò è talvolta necessario allo scopo di aumentare la disponibilità dei dati.

Perché se il tuo file principale MongoDB Il server non funziona per qualsiasi motivo, non sarà possibile accedere ai dati. Ma se i dati vengono replicati su un altro server a intervalli regolari, sarai in grado di accedere ai dati da un altro server anche se il server primario fallisce.

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

In MongoDB, multiplo MongoDB I server 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 successivamente verranno chiamate istanze secondarie che possono essere utilizzate principalmente per tutte le operazioni di lettura.

Come creare un set di replica MongoDB Aggiunta del primo membro utilizzando rs.initiate()

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

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 al riguardo.

Crea replica impostata MongoDB

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

Passo 1) Assicurati che tutte le istanze mongod.exe siano state aggiunte

Assicurarsi 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 non funziona, gli altri saranno disponibili e quindi altre istanze di MongoDB sarà disponibile.

Passo 2) Tutte le istanze mongo.exe si connettono tra loro

Assicurati che tutte le istanze di mongo.exe possano connettersi tra loro. Dal 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.

Passo 3) Avvia la prima istanza di mongod.exe

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. Puoi scegliere qualsiasi nome significativo per il nome del set di repliche.

Passo 4) Il primo server viene aggiunto al set di repliche

Ora che il primo server è stato aggiunto al set di repliche, il passo successivo è avviare il set di repliche emettendo il seguente comando rs.initiate ().

Passo 5) Verificare il set di repliche

Verificare il set di repliche emettendo il comando rs.conf() per garantire che la replica sia impostata 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.

Passo 1) Supponiamo che tu abbia ServerA, ServerB e ServerC, che devono far parte del tuo 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, dobbiamo utilizzare il comando “rs.remove”.

Passo 1) Per prima cosa esegui un arresto dell'istanza che desideri rimuovere. È possibile farlo emettendo il comando db.shutdownserver dalla shell mongo.

Passo 2) Connettersi al server primario

Passo 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 repliche

I passaggi seguenti rappresentano gli stessi modi in cui è possibile risolvere i problemi riscontrati 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 2 comandi seguenti
mongo –host ServerB –port 27017
mongo –host ServerC –port 27017
  1. Esegui il comando rs.status. Questo comando fornisce lo stato del set di repliche. Per impostazione predefinita, ogni membro si invierà messaggi chiamati messaggi "heartbeat" che indicano semplicemente che il server è attivo e funzionante. Il comando "status" ottiene lo stato di questi messaggi e mostra se ci sono problemi con qualsiasi membro del set di repliche.
  2. Controlla la dimensione dell'Oplog – L'Oplog è una raccolta in MongoDB che memorizza la cronologia delle scritture effettuate su MongoDB Banca dati. MongoDB quindi utilizza questo Oplog per replicare le scritture sugli altri membri nel set di repliche. Per controllare l'Oplog, connettiti all'istanza del membro richiesta ed esegui 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

Replica dentro MongoDB si riferisce al processo per garantire che gli stessi dati siano disponibili su più di un Mongo DB Server. Molti membri (MongoDB istanze) possono essere aggiunte al set di repliche a seconda dei requisiti.