Replicare MongoDB: Ghid cuprinzător pentru set de replică pas cu pas

Publicat: 2020-02-27

MongoDB are multe funcții. Și replicarea este o funcție proeminentă printre ele. Există multe avantaje în efectuarea replicării. Cu MongoDB, lucrați cu seturi mari de date care includ obiecte matrice și matrice încorporate. Pe măsură ce lucrați cu obiecte matrice și matrice încorporate, ar trebui să vă mențineți viteza de procesare a datelor rapidă. Citiți despre cazurile de utilizare din lumea reală MongoDB pentru a afla importanța acestuia.

Și pentru a menține rata rapidă a acestui proces, va trebui să vă asigurați că disponibilitatea datelor dvs. rămâne ridicată. O modalitate excelentă de a asigura disponibilitatea ridicată a datelor este să efectuați replicarea. Replicarea ajută, de asemenea, să aveți o copie de rezervă și vă scutește de pierderea datelor.

În acest articol, veți afla ce este replicarea în MongoDB, cum funcționează și cum o puteți face. Veți afla, de asemenea, avantajele efectuării replicării în MongoDB și, dacă întâmpinați erori în timpul efectuării acestei sarcini, cum le puteți remedia.

Să începem.

Cuprins

Ce este replicarea?

În timp ce utilizați servere, va trebui să vă sincronizați datele pe mai multe servere MongoDB. Procesul de replicare vă ajută în acest sens. Vă asigură că aveți aceleași date stocate pe diferite servere.

Replicarea îmbunătățește disponibilitatea datelor. Pierderea datelor este o preocupare semnificativă pentru organizații, iar replicarea vă ajută să atenuați grijile legate de acestea. Cu disponibilitate ridicată a datelor și redundanță, baza dvs. de date rămâne sigură dacă pierdeți un singur server. Ai pierde accesul la baza ta de date dacă singurul server care o stochează se defectează.

Replicarea vă asigură că nu vă confruntați cu aceste probleme. Replicarea MongoDB este o metodă eficientă de creștere a accesibilității datelor dvs. A avea copii suplimentare ale datelor dvs. este întotdeauna benefic. Replicarea poate reduce, de asemenea, timpul de nefuncționare al întreținerii serverului.

Aveți opțiunea de a dedica un întreg server pentru raportare, backup sau recuperare în caz de dezastru.

Există o mulțime de avantaje ale replicării în MongoDB. Să le aflăm.

Beneficiile replicării

Acestea sunt câteva dintre motivele pentru care replicarea este o practică larg răspândită:

  • Replicarea vă ajută să recuperați datele în cazul în care are loc un dezastru. Veți avea o copie de rezervă a datelor dvs. din care puteți recupera rapid fișierele pierdute.
  • Datele dvs. rămân disponibile tot timpul. Aceasta înseamnă că replicarea vă asigură că aveți accesibilitate 24×7.
  • Timpul de nefuncționare al întreținerii serverului se reduce dacă efectuați replicarea în mod regulat.
  • Replicarea vă îmbunătățește scalabilitatea citirii. A avea mai multe copii ajută la scalarea citirii datelor.

Pe lângă beneficiile pe care le-am discutat aici, replicarea are și un dezavantaj. Pe măsură ce veți stoca copii ale datelor dvs., va trebui să aveți mai mult spațiu de stocare. Deși aceasta nu este o problemă semnificativă, merită remarcată. Poate fi necesar să creșteți capacitatea de stocare a serverului dvs.

Cum funcționează replicarea MongoDB

Pentru a efectua replicarea, va trebui să utilizați seturi de replica MongoDB. Un grup de instanțe mongod care găzduiesc aceleași date se numește set de replică. Un set de replică conține un nod primar. Nodul primar primește toate operațiunile de scriere.

Un set de replică are un singur nod primar. Celelalte instanțe aplică funcții din nodul primar al setului, inclusiv nodurile secundare. În acest fel, toate au același set de date. Iată cum funcționează un set de replică MongoDB:

  • Un set de replică are minim 3 noduri
  • Un nod al setului de replici este nodul primar. Toate celelalte noduri prezente în grup sunt secundare.
  • Într-un set de replică, datele se replică de la nodurile primare la cele secundare
  • Dacă are loc o failover automată (sau în timpul întreținerii), are loc o alegere pentru determinarea primarului. Apoi, nodurile selectează un nou primar.

Acum că am discutat despre conceptul de bază de replicare în MongoDB, putem începe cu procesul acestuia.

Pasul 1: Adăugați primul membru

Știți acum că pentru a efectua replicarea, veți avea nevoie de seturi de replici. Deci, primul pas de replicare în MongoDB este crearea unui set de replică a instanțelor sale. Să presupunem că aveți trei servere, Server X, Server Y și Server Z. Dintre acestea trei, Serverul X este cel principal, iar Serverul X și Y sunt secundare.

Știți deja că replicarea are loc de la serverul primar la cele secundare. În primul rând, va trebui să vă asigurați că toate instanțele mongod (pe care le veți adăuga la setul de replici) sunt instalate pe diferite servere. În acest fel, veți avea mai multe servere disponibile chiar dacă unul dintre ele se defectează și, astfel, veți avea alte instanțe de MongoDB prezente.

Apoi, ar trebui să vă asigurați că toate instanțele se pot conecta. Emiteți comenzile date de pe Server X:

mongo –host ServerY –port 27017

mongo –host ServerZ –port 27017

După ce le-ați emis de pe Server X, emiteți-le de pe celelalte servere rămase. Acum începeți prima instanță utilizând opțiunea replSet. Opțiunea replSet vă oferă o colecție a tuturor serverelor care ar lua parte la acest proces.

mongo –replSet „ReplicaA”

Aici, ReplicaA este numele setului de replici. Puteți alege orice nume doriți, dar vom folosi acest termen pentru acest exemplu. Ar trebui să lansați comanda rs.initiate() pentru a iniția setul de replică după ce ați adăugat un server la setul de replică. După aceea, ar trebui să verificați setul de replici.

Pentru a face acest lucru, lansați comanda rs.conf(). Acest pas vă va ajuta să vă asigurați că replica dvs. este configurată optim și fără probleme.

Citiți: Întrebări și răspunsuri la interviu MongoDB

Pasul 2: Adăugați un server secundar

După adăugarea serverului principal, acum ne putem concentra pe adăugarea unui al doilea. Puteți utiliza comanda rs.add în acest scop. Ar trebui să introduceți numele serverelor secundare pe care doriți să le adăugați în această comandă. Le va adăuga automat.

În exemplul nostru, am avut Server X, Server Y și Server Z. Dintre aceste trei servere, Server X a fost cel principal din setul de replică. Ar trebui să adăugăm serverele rămase ca secundare. Și pentru a face asta, vom lansa următoarele comenzi:

rs.add(„ServerY”)

rs.add(„ServerZ”)

Si asta e. Acum ați adăugat cu succes două secundare la setul de replici.

Pasul 3: Reconfigurare (sau eliminare)

Stabilirea și adăugarea de servere este doar o parte a monedei. Este posibil să fie nevoie să eliminați și un server din grupul de configurare. În acest scop, va trebui să utilizați comanda rs.remove.

Înainte de a elimina un server, va trebui să-l închideți. Utilizați comanda db.shutdownserver din shell-ul dvs. mongo pentru a închide serverul necesar. După aceea, conectați-vă la primar și utilizați rs.remove pentru a elimina serverul pe care trebuie să îl eliminați. Această comandă va șterge serverul necesar din setul de replică.

Deci, dacă aveți Server X, Server Y și Server Z în setul de replică, din care trebuie să scăpați de Server Z, veți folosi următoarea comandă:

rs.remove(„ServerZ”)

Cum să remediați erorile setului de replici

În timp ce efectuați replicarea în MongoDB, este posibil să întâlniți unele erori. Pentru a depana aceste erori, ar trebui să utilizați următoarele metode:

  • În primul rând, asigurați-vă că toate instanțele mongo sunt conectate. Deci, dacă aveți trei servere, și anume Server X, Server Y și Server Z. Și dintre aceste trei servere, Server X este cel principal. Veți lansa următoarele comenzi:

mongo -host ServerY -port 27017

mongo -host ServerZ -port 27017

Rularea celor două comenzi de mai sus vă va ajuta să vă asigurați că sunt conectate.

Acum, rulați comanda status, care este rs.status. Comanda rs.status vă oferă starea setului de replici. Membrii unui set de replică își trimit unele mesaje unul altuia. Numim aceste mesaje „bătăi ale inimii”. Le numim bătăi inimii pentru că aceste mesaje arată că membrul lucrează (adică, în viață).

Comanda rs.status verifică aceste mesaje și vă spune dacă există vreo problemă cu un membru al setului de replici.

  • Puteți examina oplog-ul. În MongoDB, oplog-ul stochează istoricul scrierilor pe care le-ați efectuat în baza de date. MongoDB folosește Oplog pentru a replica scrierile către toți ceilalți membri ai setului de replici.
  • Puteți verifica Oplog folosind comanda rs.printReplicationinfo după conectarea la membrul necesar. Comanda rs.printReplicationinfo vă va arăta dimensiunea Oplog și limita sa de deținere a tranzacțiilor până când se umple.

Si asta e. Acum știți cum să depanați problemele cu un set de replică MongoDB. Cu aceste cunoștințe, puteți începe să efectuați replicarea în MongoDB fără a vă confrunta cu probleme.

Gânduri finale

Replicarea este doar unul dintre multele lucruri pe care le puteți face în MongoDB. Învățarea utilizării acestui program de bază de date nu este ușoară. Cu toate acestea, cu o practică și cu resurse adecvate, puteți deveni rapid abil în utilizarea acestuia.

Dacă doriți să aflați mai multe despre MongoDB și despre diferitele funcții prezente în acesta, accesați blogul nostru. Veți găsi acolo o mulțime de articole utile care vă pot ajuta să vă extindeți cunoștințele despre acest subiect.

Dacă sunteți interesat să aflați mai multe despre Big Data, consultați programul nostru PG Diploma în Dezvoltare Software Specializare în Big Data, care este conceput pentru profesioniști care lucrează și oferă peste 7 studii de caz și proiecte, acoperă 14 limbaje și instrumente de programare, practică practică. ateliere de lucru, peste 400 de ore de învățare riguroasă și asistență pentru plasarea unui loc de muncă cu firme de top.

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Perfecționează-te și pregătește-te pentru viitor

Peste 400 de ore de învățare. 14 limbi și instrumente. Statutul de absolvenți IIIT-B.
Program de certificat avansat în Big Data de la IIIT Bangalore