Indholdsfortegnelse
MongoDB er en meget populær NoSQL -database. Det bruges ofte til at gemme og administrere applikationsdata og webstedsoplysninger. MongoDB har et dynamisk skemadesign, let skalerbarhed og et dataformat, der er let tilgængeligt programmatisk.Vi vil se, hvordan du konfigurerer datareplikation for at sikre høj datatilgængelighed og skabe et robust failover -system. Dette er vigtigt i ethvert produktionsmiljø, hvor en database, der går ned, ville have en negativ indvirkning på din organisation eller virksomhed.
Hvad er et MongoDB -replikationssæt?
MongoDB håndterer replikering via et program kaldet Replication Sets. Replikationssæt i deres grundform ligner noget noder i en master / slave -konfiguration. Et enlig forældremedlem bruges som grundlag for at anvende ændringer på børnemedlemmer.
Forskellen mellem et replikationssæt og en master-slave-replikation er, at et replikationssæt har en iboende automatisk failover-mekanisme, hvis det primære medlem ikke er tilgængeligt.
Primært medlem: Det primære medlem er standardadgangspunktet for transaktioner med replikationssættet. Det er det eneste medlem, der kan acceptere skriveoperationer.
Hvert replikationssæt kan kun have et primært medlem ad gangen. Dette skyldes, at replikering sker ved at kopiere driftsloggen og gentage ændringerne i det sekundære replikationsdatasæt. Hvis flere primaries ville acceptere skriveoperationer, ville det føre til datakonflikter.
Børnemedlemmer - Et replikationssæt kan indeholde flere børn. Børnemedlemmer gengiver ændringerne fra operationsloggen i deres egne data
Selvom applikationer som standard vil forespørge det primære medlem om både læsning og skrivning, kan du konfigurere dine indstillinger til at læse fra et eller flere af de sekundære medlemmer. Et sekundært medlem kan blive det primære, hvis det primære afbryder forbindelsen eller trin.
For at konfigurere replikationen starter vi med at tilføje ip'en til værten.
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
Nu skal vi gøre for at starte MongoDB -konfigurationen for dette, vi stopper MongoDB -processen på hver server.
service mongodb stop
Nu skal vi oprette et bibliotek, der skal bruges til at gemme vores data. Opret et bibliotek med følgende kommando:
mkdir / mongo-metadata
For at afspejle vores nye konfiguration af replikationssæt
nano / etc / mongodb.conf dbpath = / mongo-metadata port = 27017 replSet = rs0 fork = true
Gem og luk filen. Start replikationsmedlemmet ved at udstede følgende kommando:
mongod --config / etc / mongodb.conf
Disse trin skal gentages for hvert medlem af replikatsættet.
Start replikationssættet
Nu hvor du har konfigureret hvert medlem af replikationssættet og startet mongod -processen på hver maskine, kan du starte replikering og tilføje hvert medlem.
Skriv i et af dine medlemmer:
mongo
Dette giver dig en MongoDB -prompt for det nuværende medlem.
Start tuning af replikation ved at indtaste:
rs.initier ()
Dette starter replikationssættet og tilføjer den server, du i øjeblikket er forbundet til som det første medlem af sættet. Dette kan ses ved at skrive:
rs.conf () {"_id": "rs0" "version": 1, "members": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}}
Nu kan du føje knudepunkterne til replikasættet ved at referere til det værtsnavn, du gav dem i filen / etc / hosts:
rs.add ("mongo1.example.com") {"Ok": 1}
Gør dette for hver af dine resterende replikationsmedlemmer. Dit replikationssæt skal nu være i gang.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt