MongoDB Replikering: Hvordan lage MongoDB Replika sett
Hva er MongoDB Replikering?
Replikering refereres til prosessen med รฅ sikre at samme data er tilgjengelig pรฅ mer enn รฉn Mongo DB Server. Dette er noen ganger nรธdvendig for รฅ รธke datatilgjengeligheten.
Fordi hvis din viktigste MongoDB Serveren gรฅr ned av en eller annen grunn, det vil ikke vรฆre tilgang til dataene. Men hvis du fikk dataene replikert til en annen server med jevne mellomrom, vil du kunne fรฅ tilgang til dataene fra en annen server selv om primรฆrserveren svikter.
Et annet formรฅl med replikering er muligheten for lastbalansering. Hvis det er mange brukere som kobler til systemet, i stedet for at alle kobler seg til ett system, kan brukere kobles til flere servere slik at det blir en lik fordeling av belastningen.
In MongoDB, flere MongoDB Servere er gruppert i sett kalt Replica-sett. Replica-settet vil ha en primรฆr server som vil akseptere all skriveoperasjon fra klienter. Alle andre instanser som legges til settet etter dette vil bli kalt sekundรฆre instanser som primรฆrt kan brukes til alle leseoperasjoner.
Hvordan lage replikasett i MongoDB Legge til det fรธrste medlemmet ved hjelp av rs.initiate()
Som nevnt i forrige avsnitt, for รฅ aktivere replikering, mรฅ vi fรธrst lage et replikasett av MongoDB tilfeller.
La oss anta at for eksempelet vรฅrt har vi 3 servere kalt ServerA, ServerB og ServerC. I denne konfigurasjonen vil ServerA vรฆre vรฅr primรฆre server og ServerB og ServerC vil vรฆre vรฅre sekundรฆre servere. Skjermbildet nedenfor vil gi en bedre ide om det.
Nedenfor er trinnene som mรฅ fรธlges for รฅ lage MongoDB replikasett sammen med tillegg av det fรธrste medlemmet til settet.
Trinn 1) Sรธrg for at alle mongod.exe-forekomster er lagt til
Sรธrg for at alle mongod.exe-forekomster som vil bli lagt til replikasettet er installert pรฅ forskjellige servere. Dette er for รฅ sikre at selv om en server gรฅr ned, vil de andre vรฆre tilgjengelige og dermed andre forekomster av MongoDB vil vรฆre tilgjengelig.
Trinn 2) Alle mongo.exe-forekomster kobles til hverandre
Sรธrg for at alle mongo.exe-forekomster kan kobles til hverandre. Fra ServerA, utfรธr de 2 kommandoene nedenfor.
mongo โhost ServerB โport 27017
mongo โhost ServerC โport 27017
Pรฅ samme mรฅte gjรธr du det samme fra de gjenvรฆrende serverne.
Trinn 3) Start den fรธrste mongod.exe-forekomsten
Start den fรธrste mongod.exe-forekomsten med alternativet replSet. Dette alternativet gir en gruppering for alle servere som vil vรฆre en del av dette replikasettet.
mongo โreplSet "Replica1"
Hvor "Replica1" er navnet pรฅ replikasettet ditt. Du kan velge et hvilket som helst meningsfullt navn for replikasettet ditt.
Trinn 4) Fรธrste server legges til replikasettet
Nรฅ som den fรธrste serveren er lagt til replikasettet, er neste trinn รฅ starte replikasettet ved รฅ gi fรธlgende kommando rs.initiate ().
Trinn 5) Bekreft replikasettet
Bekreft replikasettet ved รฅ gi kommandoen rs.conf() for รฅ sikre at replikaen er satt opp riktig.
Replikasett: Legge til en sekundรฆr ved hjelp av rs.add()
De sekundรฆre serverne kan legges til replikasettet ved รฅ bruke rs.add-kommandoen. Denne kommandoen tar inn navnet pรฅ de sekundรฆre serverne og legger serverne til replikeringssettet.
Trinn 1) Anta at hvis du har ServerA, ServerB og ServerC, som kreves for รฅ vรฆre en del av replikasettet ditt, og ServerA, er definert som den primรฆre serveren i replikasettet.
Utfรธr kommandoene for รฅ legge til ServerB og ServerC til replikasettet
rs.add("ServerB")
rs.add("ServerC")
Replikasett: Rekonfigurering eller fjerning ved hjelp av rs.remove()
For รฅ fjerne en server fra konfigurasjonssettet, mรฅ vi bruke kommandoen "rs.remove".
Trinn 1) Utfรธr fรธrst en avslutning av forekomsten du vil fjerne. Man kan gjรธre dette ved รฅ utstede kommandoen db.shutdownserver fra mongo-skallet.
Trinn 2) Koble til primรฆrserveren
Trinn 3) Bruk kommandoen rs.remove for รฅ fjerne den nรธdvendige serveren fra replikasettet. Sรฅ anta at hvis du har et replikasett med ServerA, ServerB og ServerC, og du vil fjerne ServerC fra replikasettet, utfรธr kommandoen
rs.remove("ServerC")
Feilsรธking av replikasett
De fรธlgende trinnene er de samme mรฅtene man kan feilsรธke nรฅr det oppstรฅr problemer med bruken av replikasett.
- Sรธrg for at alle mongo.exe-forekomster kan kobles til hverandre. Tenk deg at du har 3 servere kalt ServerA, ServerB og ServerC. Fra Server A, utfรธr de to kommandoene nedenfor
mongo โhost ServerB โport 27017 mongo โhost ServerC โport 27017
- Kjรธr kommandoen rs.status. Denne kommandoen gir statusen til replikasettet. Som standard vil hvert medlem sende meldinger til hverandre kalt "hjerteslag"-meldinger som bare indikerer at serveren er i live og fungerer. "status"-kommandoen fรฅr statusen til disse meldingene og viser om det er noen problemer med noen medlemmer i replikasettet.
- Sjekk stรธrrelsen pรฅ Oplog โ Oploggen er en samling i MongoDB som lagrer historien til skriverne som ble gjort til MongoDB database. MongoDB bruker deretter denne Oplog til รฅ replikere skrivingene til de andre medlemmene i replikasettet. For รฅ sjekke Oplog, koble til den nรธdvendige medlemsforekomsten og kjรธr kommandoen rs.printReplicationInfo. Denne kommandoen viser stรธrrelsen pรฅ loggen og hvor lenge den kan holde transaksjoner i loggfilen fรธr den blir full.
Sammendrag
Replikering inn MongoDB refereres til prosessen for รฅ sikre at samme data er tilgjengelig pรฅ mer enn รฉn Mongo DB Server. Mange medlemmer (MongoDB instanser) kan legges til replikasettet avhengig av kravene.

