Cuprins
MongoDB este o bază de date NoSQL foarte populară. Este adesea folosit pentru a stoca și gestiona datele aplicațiilor și informațiile site-ului web. MongoDB are un design de schemă dinamic, scalabilitate ușoară și un format de date care este ușor accesibil programatic.Vom vedea cum să configurăm replicarea datelor pentru a asigura o disponibilitate ridicată a datelor și pentru a crea un sistem robust de failover. Acest lucru este important în orice mediu de producție în care o bază de date care va merge în jos ar avea un impact negativ asupra organizației sau afacerii dvs.
Ce este un set de replici MongoDB?
MongoDB gestionează replicarea printr-o aplicație numită Seturi de replicare. Seturile de replicare în forma lor de bază sunt oarecum similare cu nodurile dintr-o configurație master / slave. Un membru monoparental este utilizat ca bază pentru aplicarea modificărilor membrilor copilului.
Diferența dintre un set de replicare și o replicare master-slave este că un set de replicare are un mecanism inerent de reluare automată în caz că membrul primar nu este disponibil.
Membru principal: membrul principal este punctul de acces implicit pentru tranzacțiile cu setul de replicare. Este singurul membru care poate accepta operații de scriere.
Fiecare set de replicare poate avea un singur membru principal la un moment dat. Acest lucru se datorează faptului că replicarea are loc prin copierea jurnalului operațiunilor și repetarea modificărilor din setul de date de replicare secundară. Dacă mai multe elemente primare ar accepta operații de scriere, ar duce la conflicte de date.
Membri copii - Un set de replicare poate conține mai mulți copii. Membrii copii reproduc modificările din jurnalul de operații în propriile date
Deși aplicațiile implicit vor interoga membrul principal atât pentru citire cât și pentru scriere, puteți configura setările pentru a citi de la unul sau mai mulți dintre membrii secundari. Un membru secundar poate deveni primar dacă primarul se deconectează sau pașează.
Pentru a configura replicarea, începem prin a adăuga ip la gazdă.
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
Editați fișierul / etc / hostname:
nano / etc / hostname mongo0.example.com
Acum trebuie să facem pentru a începe configurația MongoDB pentru aceasta oprim procesul MongoDB pe fiecare server.
service mongodb stop
Acum, trebuie să configurăm un director care va fi folosit pentru a stoca datele noastre. Creați un director cu următoarea comandă:
mkdir / mongo-metadate
Pentru a reflecta noua noastră configurație a setului de replicare
nano / etc / mongodb.conf dbpath = / mongo-metadata port = 27017 replSet = rs0 fork = true
Salvați și închideți fișierul. Porniți membrul de replicare prin emiterea următoarei comenzi:
mongod --config / etc / mongodb.conf
Acești pași trebuie repetați pentru fiecare membru al setului de replici.
Porniți setul de replicare
Acum că ați configurat fiecare membru al setului de replicare și ați început procesul mongod pe fiecare mașină, puteți începe replicarea și adăugați fiecare membru.
Într-unul dintre membrii dvs., scrieți:
mongo
Acest lucru vă va oferi un prompt MongoDB pentru membrul actual.
Porniți reglarea replicării introducând:
rs.initiate ()
Aceasta va porni setul de replicare și va adăuga serverul la care sunteți conectat în prezent ca primul membru al setului. Acest lucru poate fi văzut tastând:
rs.conf () {"_id": "rs0" "version": 1, "members": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}
Acum, puteți adăuga nodurile la setul de replici făcând referire la numele de gazdă pe care l-ați dat în fișierul / etc / hosts:
rs.add ("mongo1.example.com") {"Ok": 1}
Faceți acest lucru pentru fiecare dintre membrii de replicare rămași. Setul de replicare ar trebui să fie acum funcțional.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv