MongoDB Replica: come creare MongoDB Set di repliche
โก Riepilogo intelligente
MongoDB La replica mantiene i dati identici su piรน di uno MongoDB server, protezione contro i guasti del server e bilanciamento del carico abilitato. Raggruppato MongoDB Le istanze formano un set di repliche, con un membro primario che accetta le operazioni di scrittura e membri secondari che gestiscono le operazioni di lettura e il failover.
Cosa รจ MongoDB Replica?
La replica รจ il processo che garantisce che gli stessi dati siano disponibili su piรน di un server. MongoDB Server. A volte รจ necessario per 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 insiemi chiamati set di repliche. Ogni set di repliche avrร un server primario che accetterร tutte le operazioni di scrittura dai client. Tutte le altre istanze aggiunte al set successivamente saranno chiamate istanze secondarie e potranno 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, per il nostro esempio, di avere 3 server chiamati ServerA, ServerB e ServerC. In questa configurazione, ServerA sarร il nostro server primario, mentre ServerB e ServerC saranno i nostri server secondari. Lo screenshot seguente fornirร un'idea piรน chiara.
Di seguito sono riportati i passaggi da seguire per creare il file MongoDB set di repliche insieme all'aggiunta del primo membro al set.
Passaggio 1) Assicurarsi che tutte le istanze di 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 si arresta, gli altri saranno disponibili e quindi altre istanze di MongoDB sarร disponibile.
Passaggio 2) Tutte le istanze di 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.
Passaggio 3) Avviare la prima istanza di mongod.exe
Avvia la prima istanza di mongod.exe con l'opzione replSet. Questa opzione fornisce un gruppoping 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.
Passaggio 4) Il primo server viene aggiunto al set di repliche
Ora che il primo server รจ stato aggiunto al set di repliche, il passaggio successivo consiste nell'inizializzare il set di repliche eseguendo il seguente comando: rs.initiate().
Passaggio 5) Verificare il set di repliche
Verifica il set di repliche eseguendo il comando rs.conf() per assicurarti che sia configurato 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 di avere ServerA, ServerB e ServerC, che devono far parte del set di repliche, e che ServerA sia definito come server primario nel set di repliche.
Per aggiungere ServerB e ServerC al set di repliche, eseguire i seguenti 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".
Passo 1) Per prima cosa, arresta l'istanza che desideri rimuovere. Puoi farlo eseguendo il comando db.shutdownServer dalla shell di Mongo.
Passo 2) Connettiti al server primario.
Passo 3) Utilizza il comando rs.remove per rimuovere il server desiderato dal set di repliche. Supponiamo di avere un set di repliche con ServerA, ServerB e ServerC e di voler rimuovere ServerC dal set di repliche; in tal caso, esegui il comando:
rs.remove("ServerC")
Risoluzione dei problemi relativi ai set di repliche
Di seguito sono riportati i metodi che รจ possibile utilizzare per risolvere i problemi riscontrati con l'utilizzo dei set di repliche.
- Assicurati che tutte le istanze di mongo.exe possano connettersi tra loro. Supponiamo di avere 3 server chiamati ServerA, ServerB e ServerC. Dal ServerA, esegui i due comandi seguenti:
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
- Eseguire il comando rs.status. Questo comando fornisce lo stato del set di repliche. Per impostazione predefinita, ogni membro invia messaggi agli altri, chiamati messaggi "heartbeat", che indicano semplicemente che il server รจ attivo e funzionante. Il comando "status" recupera lo stato di questi messaggi e mostra se ci sono problemi con uno qualsiasi dei membri del set di repliche.
- Controlla le dimensioni dell'Oplog. L'Oplog รจ una collezione 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.


