Sommario
MongoDB è un database NoSQL molto popolare. Viene spesso utilizzato per archiviare e gestire i dati delle applicazioni e le informazioni sul sito Web. MongoDB presenta un design dello schema dinamico, una facile scalabilità e un formato dati facilmente accessibile a livello di codice.Vedremo come configurare la replica dei dati per garantire un'elevata disponibilità dei dati e creare un robusto sistema di failover. Questo è importante in qualsiasi ambiente di produzione in cui un database che non funziona avrebbe un impatto negativo sulla tua organizzazione o azienda.
Che cos'è un set di replica MongoDB?
MongoDB gestisce la replica tramite un'applicazione chiamata Replication Set. I Replication Set nella loro forma base sono in qualche modo simili ai nodi in una configurazione master/slave. Un singolo membro padre viene utilizzato come base per l'applicazione delle modifiche ai membri figlio.
La differenza tra un set di replica e una replica master-slave è che un set di replica dispone di un meccanismo di failover automatico intrinseco nel caso in cui il membro primario non sia disponibile.
Membro principale: il membro principale è il punto di accesso predefinito per le transazioni con il set di repliche. È l'unico membro che può accettare operazioni di scrittura.
Ogni set di replica può avere un solo membro primario alla volta. Ciò è dovuto al fatto che la replica avviene copiando il registro delle operazioni e ripetendo le modifiche nel set di dati della replica secondaria. Se più primari accettassero operazioni di scrittura, ciò porterebbe a conflitti di dati.
Membri figlio: un set di replica può contenere più figli. I membri figlio riproducono le modifiche dal registro delle operazioni nei propri dati
Sebbene le applicazioni per impostazione predefinita interroghino il membro principale sia in lettura che in scrittura, è possibile configurare le impostazioni per leggere da uno o più membri secondari. Un membro secondario può diventare il principale se il principale si disconnette o passa.
Per configurare la replica iniziamo aggiungendo l'ip all'host.
nano / etc / hosts 127.0.0.1 localhost mongo0 123.456.789.111 mongo0.domain.com 123.456.789.222 mongo1.domain.com 123.456.789.333 mongo2.domain.com
Modifica il file /etc/hostname:
nano / etc / nome host mongo0.example.com
Ora dobbiamo fare per avviare la configurazione MongoDB per questo fermiamo il processo MongoDB su ciascun server.
servizio mongodb stop
Ora, dobbiamo impostare una directory che verrà utilizzata per memorizzare i nostri dati. Crea una directory con il seguente comando:
mkdir / mongo-metadata
Per riflettere la nostra nuova configurazione del set di replica
nano / etc / mongodb.conf dbpath = / mongo-metadata port = 27017 replSet = rs0 fork = true
Salva e chiudi il file. Avviare il membro di replica emettendo il comando seguente:
mongod --config / etc / mongodb.conf
Questi passaggi devono essere ripetuti per ogni membro del set di repliche.
Avvia il set di replica
Ora che hai configurato ogni membro del set di replica e avviato il processo mongod su ogni macchina, puoi avviare la replica e aggiungere ogni membro.
In uno dei tuoi membri, scrivi:
mongo
Questo ti darà un prompt MongoDB per il membro attuale.
Avviare l'ottimizzazione della replica immettendo:
rs.initiate ()
Questo avvierà il set di replica e aggiungerà il server a cui sei attualmente connesso come primo membro del set. Questo può essere visto digitando:
rs.conf () {"_id": "rs0" "version": 1, "members": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}
Ora puoi aggiungere i nodi al set di repliche facendo riferimento al nome host che hai fornito loro nel file / etc / hosts:
rs.add ("mongo1.esempio.com") {"Ok": 1}
Eseguire questa operazione per ciascuno dei membri di replica rimanenti. Il tuo set di replica dovrebbe ora essere attivo e funzionante.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo