Vadnica za nabor replik MongoDB: Primer kopiranja po korakih

Kazalo:

Anonim

Kaj je replikacija MongoDB?

Podvajanje se nanaša na postopek zagotavljanja, da so isti podatki na voljo na več kot enem strežniku Mongo DB. To je včasih potrebno za povečanje razpoložljivosti podatkov.

Ker če vaš glavni strežnik MongoDB iz kakršnega koli razloga propade, ne bo dostopa do podatkov. Če pa ste podatke redno kopirali na drug strežnik, boste lahko dostopali do podatkov z drugega strežnika, tudi če primarni strežnik ne uspe.

Drug namen replikacije je možnost uravnoteženja obremenitve. Če se v sistem povezuje veliko uporabnikov, se lahko namesto da se vsi povežejo z enim sistemom, uporabniki lahko povežejo z več strežniki, tako da je obremenitev enakomerno porazdeljena.

V MongoDB je več strežnikov MongDB združenih v sklope, imenovane kompleti Replica. Nabor Replika bo imel primarni strežnik, ki bo sprejel vse operacije pisanja od odjemalcev. Vsi drugi primerki, dodani naboru po tem, se bodo imenovali sekundarni primerki, ki jih je mogoče uporabiti predvsem za vse operacije branja.

V tej vadnici boste izvedeli -

  • Nabor replik: dodajanje prvega člana z uporabo rs.initiate ()
  • Nabor replik: dodajanje sekundarnega z uporabo rs.add ()
  • Nabor replik: Ponovna konfiguracija ali odstranjevanje z uporabo rs.remove ()
  • Odpravljanje težav z nabori kopij

Nabor replik: dodajanje prvega člana z uporabo rs.initiate ()

Kot smo že omenili v prejšnjem razdelku, moramo najprej omogočiti kopiranje, da ustvarimo nabor kopij primerkov MongoDB.

Predpostavimo, da imamo v našem primeru 3 strežnike, imenovane ServerA, ServerB in ServerC. V tej konfiguraciji bo ServerA naš primarni strežnik, ServerB in ServerC pa naša sekundarna strežnika. Spodaj posnetek zaslona bo dal boljšo predstavo o tem.

Spodaj so navedeni koraki, ki jih je treba upoštevati pri ustvarjanju nabora replik, skupaj z dodajanjem prvega člana v nabor.

Korak 1) Zagotovite, da so vsi primerki mongod.exe, ki bodo dodani naboru replik, nameščeni na različnih strežnikih. S tem želimo zagotoviti, da bodo tudi, če bo en strežnik izpadel, na voljo drugi in s tem tudi drugi primerki MongoDB.

2. korak) Zagotovite, da se lahko vsi primerki mongo.exe povežejo med seboj. V ServerA izdajte spodnja 2 ukaza

mongo -host ServerB -port 27017
mongo -host ServerC -port 27017

Podobno naredite isto s preostalimi strežniki.

3. korak) Zaženite prvi primerek mongod.exe z možnostjo replSet. Ta možnost omogoča združevanje vseh strežnikov, ki bodo del tega nabora replik.

mongo -replSet "Replica1"

Kjer je "Replica1" ime vašega kompleta replik. Za ime nabora replik lahko izberete katero koli smiselno ime.

Korak 4) Zdaj, ko je prvi strežnik dodan naboru replik, je naslednji korak sprožiti nabor replik z izdajo naslednjega ukaza rs.initiate ()

5. korak: Preverite nabor replik z izdajo ukaza rs.conf (), da zagotovite pravilno nastavitev replike

Nabor replik: dodajanje sekundarnega z uporabo rs.add ()

Sekundarne strežnike lahko dodate naboru replik z uporabo ukaza rs.add. Ta ukaz prevzame ime sekundarnih strežnikov in doda strežnike v nabor kopiranja.

Korak 1) Recimo, da imate ServerA, ServerB in ServerC, ki morajo biti del vašega nabora replik in ServerA, definiran kot primarni strežnik v naboru replik.

Če želite naboru replik dodati ServerB in ServerC, izdajte ukaze

rs.add("ServerB")rs.add("ServerC")

Nabor replik: Ponovna konfiguracija ali odstranjevanje z uporabo rs.remove ()

Za odstranitev strežnika iz nabora konfiguracij moramo uporabiti ukaz "rs.remove"

1. korak) Najprej izvedite zaustavitev primerka, ki ga želite odstraniti. To lahko storite tako, da iz lupine mongo izdate ukaz db.shutdownserver.

Korak 2) Povežite se s primarnim strežnikom

Korak 3) Z ukazom rs.remove odstranite zahtevani strežnik iz nabora replik. Recimo, če imate nabor replik s ServerA, ServerB in ServerC in želite odstraniti ServerC iz nabora replik, izdajte ukaz

rs.remove("ServerC")

Odpravljanje težav z nabori kopij

Naslednji koraki so enaki načini za odpravljanje težav, ko pri uporabi naborov replik naletimo na težave.

  1. Prepričajte se, da se lahko vsi primerki mongo.exe povežejo med seboj. Recimo, da imate 3 strežnike, imenovane ServerA, ServerB in ServerC. Na strežniku A izdajte spodnja 2 ukaza
mongo -host ServerB -port 27017mongo -host ServerC -port 27017
  1. Zaženite ukaz rs.status. Ta ukaz poda status nabora replik. Privzeto bo vsak član drug drugemu pošiljal sporočila, ki se imenujejo "srčni utrip", kar samo kaže, da je strežnik živ in deluje. Ukaz "status" pridobi stanje teh sporočil in pokaže, ali obstajajo težave s člani v naboru replik.
  2. Preverite velikost Oploga - Oplog je zbirka v MongoDB, ki hrani zgodovino zapisov, ki so bili opravljeni v zbirko podatkov MongoDB. MongoDB nato uporabi ta Oplog za kopiranje zapisov drugim članom v naboru replik. Če želite preveriti Oplog, se povežite z zahtevanim primerkom člana in zaženite ukaz rs.printReplicationInfo. Ta ukaz bo pokazal velikost dnevnika in kako dolgo lahko hrani transakcije v svoji dnevniški datoteki, preden se zapolni.

Povzetek:

  • Podvajanje se nanaša na postopek zagotavljanja, da so isti podatki na voljo na več kot enem strežniku Mongo DB. Številne člane (primerke MongoDB) je mogoče dodati naboru Replica, odvisno od zahtev.