MongoDB Replicare: Cum se creează MongoDB Set de replică
⚡ Rezumat inteligent
MongoDB Replicarea păstrează date identice pe mai multe locuri MongoDB server, protejând împotriva erorilor serverului și permițând echilibrarea încărcării. Grupate MongoDB Instanțele formează un set de replici cu un membru principal care acceptă scrieri și membri secundari care gestionează operațiunile de citire și failover-ul.
Ce Este MongoDB Replicare?
Replicarea este denumită procesul de asigurare a faptului că aceleași date sunt disponibile pe mai multe sisteme... MongoDB Server. Acest lucru este uneori necesar în scopul creșterii disponibilității datelor.
Pentru că dacă ești principal MongoDB Serverul se defectează din orice motiv, nu va exista acces la date. Dar dacă ați avut datele replicate pe un alt server la intervale regulate, veți putea accesa datele de pe alt server chiar dacă serverul primar eșuează.
Un alt scop al replicării este posibilitatea de echilibrare a sarcinii. Dacă există mulți utilizatori care se conectează la sistem, în loc să se conecteze toată lumea la un sistem, utilizatorii pot fi conectați la mai multe servere, astfel încât să existe o distribuție egală a încărcăturii.
In MongoDB, multiple MongoDB Serverele sunt grupate în seturi numite seturi Replica. Setul Replica va avea un server principal care va accepta toate operațiunile de scriere de la clienți. Toate celelalte instanțe adăugate la set după acesta vor fi numite instanțe secundare, care pot fi utilizate în principal pentru toate operațiunile de citire.
Cum se creează un set de replică MongoDB Adăugarea primului membru folosind rs.initiate()
După cum sa menționat în secțiunea anterioară, pentru a activa replicarea, trebuie mai întâi să creăm un set de replică MongoDB instanțe.
Să presupunem că, în exemplul nostru, avem 3 servere numite ServerA, ServerB și ServerC. În această configurație, ServerA va fi serverul nostru principal, iar ServerB și ServerC vor fi serverele noastre secundare. Captura de ecran de mai jos va oferi o idee mai bună despre acest lucru.
Mai jos sunt pașii care trebuie urmați pentru crearea MongoDB set de replică împreună cu adăugarea primului membru la set.
Pasul 1) Asigurați-vă că toate instanțele mongod.exe sunt adăugate
Asigurați-vă că toate instanțele mongod.exe care vor fi adăugate la setul de replici sunt instalate pe servere diferite. Acest lucru garantează că, chiar dacă un server se defectează, celelalte vor fi disponibile și, prin urmare, alte instanțe ale... MongoDB va fi disponibil.
Pasul 2) Toate instanțele mongo.exe se conectează între ele
Asigurați-vă că toate instanțele mongo.exe se pot conecta între ele. De la ServerA, lansați cele 2 comenzi de mai jos.
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
În mod similar, faceți același lucru de pe serverele rămase.
Pasul 3) Porniți prima instanță mongod.exe
Porniți prima instanță mongod.exe cu opțiunea replSet. Această opțiune oferă un grupping pentru toate serverele care vor face parte din acest set de replici.
mongo --replSet "Replica1"
Unde „Replica1” este numele setului de replici. Puteți alege orice nume semnificativ pentru numele setului de replică.
Pasul 4) Primul server este adăugat la setul de replici
Acum că primul server este adăugat la setul de replici, următorul pas este inițierea setului de replici prin executarea următoarei comenzi rs.initiate().
Pasul 5) Verificați setul de replici
Verificați setul de replici prin executarea comenzii rs.conf() pentru a vă asigura că este configurat corect.
Set de replică: adăugarea unui secundar folosind rs.add()
Serverele secundare pot fi adăugate la setul de replici folosind doar comanda rs.add. Această comandă preia numele serverelor secundare și adaugă serverele la setul de replicare.
Pas 1) Să presupunem că aveți ServerA, ServerB și ServerC, care trebuie să facă parte din setul de replici, iar ServerA este definit ca server principal în setul de replici.
Pentru a adăuga ServerB și ServerC la setul de replici, executați comenzile:
rs.add("ServerB") rs.add("ServerC")
Set de replici: reconfigurarea sau eliminarea utilizând rs.remove()
Pentru a elimina un server din setul de configurare, trebuie să folosim comanda „rs.remove”.
Pas 1) Mai întâi, închideți instanța pe care doriți să o eliminați. Acest lucru se poate face prin executarea comenzii db.shutdownServer din shell-ul mongo.
Pas 2) Conectați-vă la serverul principal.
Pas 3) Folosește comanda rs.remove pentru a elimina serverul necesar din setul de replici. Să presupunem că ai un set de replici cu ServerA, ServerB și ServerC și vrei să elimini ServerC din setul de replici, execută comanda:
rs.remove("ServerC")
Depanarea seturi de replicare
Următoarele sunt aceleași modalități prin care se pot depana problemele întâlnite la utilizarea seturilor de replici.
- Asigurați-vă că toate instanțele mongo.exe se pot conecta între ele. Să presupunem că aveți 3 servere numite ServerA, ServerB și ServerC. De la ServerA, executați următoarele 2 comenzi:
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
- Rulați comanda rs.status. Această comandă indică starea setului de replici. În mod implicit, fiecare membru va trimite mesaje reciproc numite mesaje „heartbeat”, care indică doar faptul că serverul este activ și funcționează. Comanda „status” obține starea acestor mesaje și arată dacă există probleme cu vreunul dintre membrii setului de replici.
- Verificați dimensiunea Oplog-ului. Oplog-ul este o colecție în MongoDB care stochează istoria scrierilor care au fost făcute către MongoDB Bază de date. MongoDB apoi folosește acest Oplog pentru a replica scrierile celorlalți membri din setul de replică. Pentru a verifica Oplog, conectați-vă la instanța membru necesară și executați comanda rs.printReplicationInfo. Această comandă va afișa dimensiunea jurnalului și cât timp poate păstra tranzacțiile în fișierul său jurnal înainte ca acesta să devină plin.


