MongoDB Replikacija: Kako stvoriti MongoDB Komplet replika
Što je MongoDB Replikacija?
Replikacija se odnosi na proces osiguravanja da su isti podaci dostupni na više od jednog Mongo DB poslužitelja. To je ponekad potrebno u svrhu povećanja dostupnosti podataka.
Jer ako vaš glavni MongoDB Poslužitelj pada iz bilo kojeg razloga, neće biti pristupa podacima. Ali ako ste podatke replicirali na drugi poslužitelj u redovitim intervalima, moći ćete pristupiti podacima s drugog poslužitelja čak i ako primarni poslužitelj zakaže.
Druga svrha replikacije je mogućnost uravnoteženja opterećenja. Ako postoji mnogo korisnika koji se povezuju na sustav, umjesto da se svi povezuju na jedan sustav, korisnici mogu biti povezani na više poslužitelja tako da postoji jednaka raspodjela opterećenja.
In MongoDB, višestruko MongoDB Poslužitelji su grupirani u skupove koji se nazivaju replika skupovi. Skup replika će imati primarni poslužitelj koji će prihvatiti sve operacije pisanja od klijenata. Sve ostale instance dodane skupu nakon ovoga nazivat će se sekundarnim instancama koje se primarno mogu koristiti za sve operacije čitanja.
Kako stvoriti repliku Set in MongoDB Dodavanje prvog člana pomoću rs.initiate()
Kao što je spomenuto u prethodnom odjeljku, da bismo omogućili replikaciju, prvo moramo stvoriti skup replika MongoDB instanci.
Pretpostavimo da za naš primjer imamo 3 poslužitelja koji se nazivaju ServerA, ServerB i ServerC. U ovoj konfiguraciji, ServerA će biti naš primarni poslužitelj, a ServerB i ServerC će biti naši sekundarni poslužitelji. Snimka zaslona u nastavku dat će vam bolju ideju o tome.
U nastavku su navedeni koraci koje je potrebno slijediti za stvaranje MongoDB skup replika zajedno s dodatkom prvog člana skupu.
Korak 1) Osigurajte da su dodane sve instance mongod.exe
Provjerite jesu li sve instance mongod.exe koje će se dodati u skup replika instalirane na različitim poslužiteljima. Ovo je kako bi se osiguralo da čak i ako jedan poslužitelj padne, ostali će biti dostupni, a time i druge instance MongoDB bit će dostupna.
Korak 2) Sve instance mongo.exe povezuju se jedna s drugom
Provjerite mogu li se sve instance mongo.exe međusobno povezati. Iz poslužitelja A izdajte sljedeće 2 naredbe.
mongo –host ServerB –port 27017
mongo –host ServerC –port 27017
Slično, učinite istu stvar s preostalih poslužitelja.
Korak 3) Pokrenite prvu instancu mongod.exe
Pokrenite prvu instancu mongod.exe s opcijom replSet. Ova opcija omogućuje grupiranje za sve poslužitelje koji će biti dio ovog skupa replika.
mongo –replSet "Replica1"
Gdje je "Replica1" naziv vašeg skupa replika. Možete odabrati bilo koje smisleno ime za naziv skupa replika.
Korak 4) Prvi poslužitelj je dodan skupu replika
Sada kada je prvi poslužitelj dodan skupu replika, sljedeći korak je pokretanje skupa replika izdavanjem sljedeće naredbe rs.initiate ().
Korak 5) Provjerite skup replika
Provjerite skup replika izdavanjem naredbe rs.conf() kako biste osigurali da je replika ispravno postavljena.
Skup replika: Dodavanje sekundarnog pomoću rs.add()
Sekundarni poslužitelji mogu se dodati skupu replika samo pomoću naredbe rs.add. Ova naredba preuzima nazive sekundarnih poslužitelja i dodaje poslužitelje skupu replikacije.
Korak 1) Pretpostavimo da imate ServerA, ServerB i ServerC, koji moraju biti dio vašeg skupa replika, a ServerA je definiran kao primarni poslužitelj u skupu replika.
Da biste dodali ServerB i ServerC u skup replika izdajte naredbe
rs.add("ServerB") rs.add("ServerC")
Skup replika: Ponovno konfiguriranje ili uklanjanje pomoću rs.remove()
Da bismo uklonili poslužitelj iz konfiguracijskog skupa, moramo upotrijebiti naredbu “rs.remove”.
Korak 1) Najprije izvedite gašenje instance koju želite ukloniti. To se može učiniti izdavanjem naredbe db.shutdownserver iz mongo shell-a.
Korak 2) Spojite se na primarni poslužitelj
Korak 3) Koristite naredbu rs.remove za uklanjanje traženog poslužitelja iz skupa replika. Dakle, pretpostavimo da ako imate skup replika s ServerA, ServerB i ServerC i želite ukloniti ServerC iz skupa replika, izdajte naredbu
rs.remove("ServerC")
Rješavanje problema replika kompleta
Sljedeći koraci su isti načini na koje se mogu riješiti problemi kada se pojave problemi s upotrebom skupova replika.
- Provjerite mogu li se sve instance mongo.exe međusobno povezati. Pretpostavimo da imate 3 poslužitelja pod nazivom ServerA, ServerB i ServerC. S poslužitelja A izdajte sljedeće 2 naredbe
mongo –host ServerB –port 27017 mongo –host ServerC –port 27017
- Pokrenite naredbu rs.status. Ova naredba daje status skupa replika. Prema zadanim postavkama, svaki će član slati poruke jedni drugima pod nazivom "otkucaji srca" poruke koje samo pokazuju da je poslužitelj živ i radi. Naredba "status" dobiva status ovih poruka i pokazuje ima li problema s bilo kojim članom u skupu replika.
- Provjerite veličinu Oploga – Oplog je zbirka u MongoDB koji pohranjuje povijest zapisa koji su učinjeni MongoDB baza podataka. MongoDB zatim koristi ovaj Oplog za repliciranje zapisa na druge članove u skupu replika. Da provjerite Oplog, povežite se na traženu instancu člana i pokrenite naredbu rs.printReplicationInfo. Ova naredba će pokazati veličinu dnevnika i koliko dugo može držati transakcije u svojoj datoteci dnevnika prije nego što se napuni.
Rezime
Replikacija u MongoDB odnosi se na proces osiguravanja da su isti podaci dostupni na više od jednog Mongo DB poslužitelja. Mnogi članovi (MongoDB instance) mogu se dodati u skup replika ovisno o zahtjevima.