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.

  • ๏ธ Concetto principale: La replica copia gli stessi dati su piรน server, in modo che le informazioni rimangano disponibili anche in caso di guasto del server primario.
  • ๐Ÿ‘‘ Primaria e secondaria: Un set di repliche ha un membro primario che accetta scritture e membri secondari che gestiscono le letture.
  • ๐Ÿš€ Creazione del set: Il comando rs.initiate() avvia un set di repliche dopo l'avvio della prima istanza di mongod con l'opzione replSet.
  • โž• Aggiunta di membri: Il comando rs.add() collega i server secondari, mentre rs.remove() scollega un membro dalla configurazione.
  • ๐Ÿ”ง Risoluzione dei problemi: I comandi rs.status() e rs.printReplicationInfo() forniscono informazioni sullo stato di salute del battito cardiaco e sulle dimensioni dell'Oplog a scopo diagnostico.

MongoDB Replica: come creare MongoDB Set di repliche

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.

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.

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.

  1. 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
  2. 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.
  3. 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.

DOMANDE FREQUENTI

Sรฌ. Gli assistenti IA possono generare le opzioni di avvio di mongod, la configurazione di rs.initiate() e i comandi rs.add() per un set di repliche. Prima di applicare la configurazione ai server di produzione, รจ sempre necessario verificare i nomi host, le porte e le prioritร  dei membri.

Sรฌ. Gli strumenti di monitoraggio basati sull'intelligenza artificiale possono leggere le metriche rs.status() e Oplog per segnalare i server secondari che sono in ritardo rispetto al server primario. Possono suggerire cause come latenza di rete o dischi lenti, ma i tecnici dovrebbero confermare prima di intervenire.

MongoDB Si raccomanda un numero dispari di membri votanti, in genere tre, in modo che le elezioni possano raggiungere la maggioranza. Se sono disponibili solo due nodi dati, รจ possibile aggiungere un arbitro per dirimere le paritร  senza dover memorizzare i dati.

Quando il candidato primario diventa irraggiungibile, i membri rimanenti tengono un'elezione e promuovono automaticamente un candidato secondario idoneo al ruolo di primario. Scrivere il curriculum operativo una volta scelto un nuovo candidato primario, mantenerloping l'applicazione รจ disponibile con tempi di inattivitร  minimi.

Riassumi questo post con: