MongoDB Replicare: Cum se creează MongoDB Set de replică
Ce Este MongoDB Replicare?
Replicarea se referă la procesul de asigurare a faptului că aceleași date sunt disponibile pe mai multe servere Mongo DB. 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 primar care va accepta toate operațiunile de scriere de la clienți. Toate celelalte instanțe adăugate la set după aceasta 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ă, pentru exemplul nostru, avem 3 servere numite ServerA, ServerB și ServerC. În această configurație, ServerA va fi serverul nostru principal și ServerB și ServerC vor fi serverele noastre secundare. Captura de ecran de mai jos vă va oferi o idee mai bună despre ea.
Mai jos sunt pașii care trebuie urmați pentru crearea MongoDB set de replică împreună cu adăugarea primului membru la set.
Pas 1) Asigurați-vă că toate instanțele mongod.exe au fost adăugate
Asigurați-vă că toate instanțele mongod.exe care vor fi adăugate la setul de replică sunt instalate pe servere diferite. Acest lucru este pentru a ne asigura că, chiar dacă un server se defectează, celelalte vor fi disponibile și, prin urmare, alte instanțe ale MongoDB va fi disponibil.
Pas 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.
Pas 3) Porniți prima instanță mongod.exe
Porniți prima instanță mongod.exe cu opțiunea replSet. Această opțiune oferă o grupare 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ă.
Pas 4) Primul server este adăugat la setul de replică
Acum că primul server este adăugat la setul de replică, următorul pas este să inițiezi setul de replică lansând următoarea comandă rs.initiate ().
Pas 5) Verificați setul de replici
Verificați setul de replici lansând comanda rs.conf() pentru a vă asigura că replica 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ă dacă aveți ServerA, ServerB și ServerC, care trebuie să facă parte din setul de replici, iar ServerA este definit ca server primar în setul de replici.
Pentru a adăuga ServerB și ServerC la setul de replici, emiteț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 efectuați o închidere a instanței pe care doriți să o eliminați. Se poate face acest lucru lansând comanda db.shutdownserver din shell-ul mongo.
Pas 2) Conectați-vă la serverul principal
Pas 3) Utilizați comanda rs.remove pentru a elimina serverul necesar din setul de replică. Deci, să presupunem că dacă aveți un set de replică cu ServerA, ServerB și ServerC și doriți să eliminați ServerC din setul de replică, lansați comanda
rs.remove("ServerC")
Depanarea seturi de replicare
Următorii pași sunt aceleași modalități prin care se poate depana atunci când se întâlnesc probleme cu 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 pe serverul A, lansați cele 2 comenzi de mai jos
mongo –host ServerB –port 27017 mongo –host ServerC –port 27017
- Rulați comanda rs.status. Această comandă oferă starea setului de replici. În mod implicit, fiecare membru își va trimite mesaje unul altuia numite mesaje „bătăi inimii”, care indică doar că serverul este viu și funcționează. Comanda „status” obține starea acestor mesaje și arată dacă există probleme cu vreun membru din setul de replică.
- Verificați dimensiunea Oplog - Oplog 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.
Rezumat
Replicare în MongoDB se referă la procesul de asigurare a faptului că aceleași date sunt disponibile pe mai multe servere Mongo DB. Mulți membri (MongoDB instanțe) pot fi adăugate la setul Replica în funcție de cerințe.