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.

Lag replikasett inn MongoDB

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.

  1. 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
  1. 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.
  2. 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.

Oppsummer dette innlegget med: