Hoe replica te implementeren in MongoDB op een Ubuntu VPS

Inhoudsopgave

MongoDB is een zeer populaire NoSQL-database. Het wordt vaak gebruikt om applicatiegegevens en website-informatie op te slaan en te beheren. MongoDB heeft een dynamisch schema-ontwerp, eenvoudige schaalbaarheid en een gegevensformaat dat gemakkelijk programmatisch toegankelijk is.
We zullen zien hoe u gegevensreplicatie kunt configureren om een ​​hoge gegevensbeschikbaarheid te garanderen en een robuust failoversysteem te creëren. Dit is belangrijk in elke productieomgeving waar het uitvallen van een database een negatief effect zou hebben op uw organisatie of bedrijf.
Wat is een MongoDB-replicatieset?
MongoDB handelt replicatie af via een applicatie genaamd Replicatiesets.Replicatiesets in hun basisvorm lijken enigszins op knooppunten in een master / slave-configuratie. Een alleenstaand ouderlid wordt gebruikt als basis voor het toepassen van wijzigingen op onderliggende leden.
Het verschil tussen een replicatieset en een master-slave-replicatie is dat een replicatieset een inherent automatisch failovermechanisme heeft in het geval dat het primaire lid niet beschikbaar is.
Primair lid: het primaire lid is het standaardtoegangspunt voor transacties met de replicatieset. Het is het enige lid dat schrijfbewerkingen kan accepteren.
Elke replicatieset kan slechts één primair lid tegelijk hebben. Dit komt omdat replicatie plaatsvindt door het logboek van bewerkingen te kopiëren en de wijzigingen in de secundaire replicatiegegevensset te herhalen. Als meerdere voorverkiezingen schrijfbewerkingen zouden accepteren, zou dit leiden tot gegevensconflicten.
Onderliggende leden - Een replicatieset kan meerdere onderliggende leden bevatten. Onderliggende leden reproduceren de wijzigingen uit het bewerkingslogboek in hun eigen gegevens
Hoewel toepassingen standaard het primaire lid vragen voor zowel lezen als schrijven, kunt u uw instellingen configureren om te lezen van een of meer van de secundaire leden. Een secundair lid kan het primaire lid worden als het primaire lid de verbinding verbreekt of stapt.
Om de replicatie te configureren, beginnen we met het toevoegen van het ip aan de host.
 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

Bewerk het / etc / hostnaam bestand:
 nano / etc / hostnaam mongo0.example.com

Nu moeten we doen om de MongoDB-configuratie te starten, hiervoor stoppen we het MongoDB-proces op elke server.
service mongodb stop

Nu moeten we een map instellen die zal worden gebruikt om onze gegevens op te slaan. Maak een map aan met het volgende commando:
mkdir / mongo-metadata

Om onze nieuwe configuratie van de replicatieset weer te geven
 nano / etc / mongodb.conf dbpath = / mongo-metadata port = 27017 replSet = rs0 fork = true

Sla het bestand op en sluit het. Start het replicatielid door de volgende opdracht te geven:
mongod --config / etc / mongodb.conf

Deze stappen moeten worden herhaald voor elk lid van de replicaset.
Start de replicatieset
Nu u elk lid van de replicatieset hebt geconfigureerd en het mongod-proces op elke machine hebt gestart, kunt u de replicatie starten en elk lid toevoegen.
Schrijf in een van je leden:
mongo
Dit geeft je een MongoDB-prompt voor het huidige lid.
Start replicatie-afstemming door het volgende in te voeren:
rs.initieren ()

Hierdoor wordt de replicatieset gestart en wordt de server waarmee u momenteel bent verbonden als eerste lid van de set toegevoegd. Dit is te zien door te typen:
 rs.conf () {"_id": "rs0" "versie": 1, "leden": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}

Nu kunt u de knooppunten aan de replicaset toevoegen door te verwijzen naar de hostnaam die u ze hebt gegeven in het bestand / etc / hosts:
 rs.add ("mongo1.example.com") {"Ok": 1}

Doe dit voor elk van uw resterende replicatieleden. Uw replicatieset zou nu actief moeten zijn.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave