Hvordan implementere kopi i MongoDB på en Ubuntu VPS

Innholdsfortegnelse

MongoDB er en veldig populær NoSQL -database. Det brukes ofte til å lagre og administrere applikasjonsdata og nettstedinformasjon. MongoDB har en dynamisk skjemadesign, enkel skalerbarhet og et dataformat som er lett tilgjengelig programmatisk.
Vi vil se hvordan du konfigurerer datareplikering for å sikre høy datatilgjengelighet og lage et robust failover -system. Dette er viktig i alle produksjonsmiljøer der en database som går ned vil ha en negativ innvirkning på organisasjonen eller virksomheten din.
Hva er et MongoDB -replikeringssett?
MongoDB håndterer replikering gjennom et program som heter Replication Sets. Replikeringssett i sin grunnleggende form ligner noe på noder i en master / slave -konfigurasjon. Et aleneforeldermedlem brukes som grunnlag for å anvende endringer på barnemedlemmer.
Forskjellen mellom et replikeringssett og en master-slave-replikering er at et replikeringssett har en iboende automatisk failover-mekanisme i tilfelle det primære medlemmet ikke er tilgjengelig.
Primærmedlem: Det primære medlemmet er standard tilgangspunkt for transaksjoner med replikeringssettet. Det er det eneste medlemmet som kan godta skriveoperasjoner.
Hvert replikasjonssett kan bare ha ett hovedmedlem om gangen. Dette er fordi replikering skjer ved å kopiere operasjonsloggen og gjenta endringene i det sekundære replikasjonsdatasettet. Hvis flere primærprogrammer ville godta skriveoperasjoner, ville det føre til datakonflikter.
Barnemedlemmer - Et replikasjonssett kan inneholde flere barn. Barnemedlemmer reproduserer endringene fra operasjonsloggen i sine egne data
Selv om programmer som standard vil spørre det primære medlemmet om både lese og skrive, kan du konfigurere innstillingene dine til å lese fra ett eller flere av de sekundære medlemmene. Et sekundært medlem kan bli det primære hvis det primære kobles fra eller trinn.
For å konfigurere replikeringen starter vi med å legge til ip til verten.
 nano / etc / hosts 127.0.0.1 localhost mongo0 123.456.789.111 mongo0.domain.com 123.456.789.222 mongo1.domain.com 123.456.789.333 mongo2.domain.com

Rediger filen / etc / hostname:
 nano / etc / hostname mongo0.example.com

Nå må vi gjøre for å starte MongoDB -konfigurasjonen for dette stopper vi MongoDB -prosessen på hver server.
service mongodb stopp

Nå må vi sette opp en katalog som skal brukes til å lagre dataene våre. Opprett en katalog med følgende kommando:
mkdir / mongo-metadata

For å gjenspeile vår nye replikasjonssettkonfigurasjon
 nano / etc / mongodb.conf dbpath = / mongo-metadata port = 27017 replSet = rs0 fork = true

Lagre og lukk filen. Start replikasjonsmedlemmet ved å utstede følgende kommando:
mongod --config / etc / mongodb.conf

Disse trinnene må gjentas for hvert medlem av replikasettet.
Start replikasjonssettet
Nå som du har konfigurert hvert medlem av replikeringssettet og startet mongod -prosessen på hver maskin, kan du starte replikering og legge til hvert medlem.
Skriv i et av medlemmene dine:
mongo
Dette vil gi deg en MongoDB -melding for det nåværende medlemmet.
Start replikering tuning ved å skrive inn:
rs.initier ()

Dette vil starte replikasjonssettet og legge til serveren du for øyeblikket er koblet til som det første medlemmet i settet. Dette kan sees ved å skrive:
 rs.conf () {"_id": "rs0" "versjon": 1, "members": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}}

Nå kan du legge til nodene i replikksettet ved å referere til vertsnavnet du ga dem i filen / etc / hosts:
 rs.add ("mongo1.example.com") {"Ok": 1}

Gjør dette for hvert av dine gjenværende replikasjonsmedlemmer. Replikasjonssettet ditt skal nå være i gang.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave