Hur man implementerar replik i MongoDB på en Ubuntu VPS

Innehållsförteckning

MongoDB är en mycket populär NoSQL -databas. Det används ofta för att lagra och hantera applikationsdata och webbplatsinformation. MongoDB har en dynamisk schemadesign, enkel skalbarhet och ett dataformat som är lättillgängligt programmatiskt.
Vi kommer att se hur man konfigurerar datareplikering för att säkerställa hög datatillgänglighet och skapa ett robust failover -system. Detta är viktigt i alla produktionsmiljöer där en databas som går ner skulle ha en negativ inverkan på din organisation eller ditt företag.
Vad är en MongoDB -replikeringsuppsättning?
MongoDB hanterar replikering genom ett program som heter Replikeringsuppsättningar. Replikeringsuppsättningar i deras grundläggande form liknar något noder i en master / slavkonfiguration. En ensamstående förälder används som underlag för att tillämpa ändringar på barnmedlemmar.
Skillnaden mellan en replikeringsuppsättning och en master-slav-replikering är att en replikeringsuppsättning har en inneboende automatisk failover-mekanism om den primära medlemmen inte är tillgänglig.
Primärmedlem: Den primära medlemmen är standardåtkomstpunkten för transaktioner med replikeringsuppsättningen. Det är den enda medlemmen som kan acceptera skrivoperationer.
Varje replikeringsuppsättning kan bara ha en primär medlem åt gången. Detta beror på att replikering sker genom att kopiera loggen över operationer och upprepa ändringarna i den sekundära replikationsdatauppsättningen. Om flera primärprogram accepterar skrivoperationer skulle det leda till datakonflikter.
Barnmedlemmar - En replikeringsuppsättning kan innehålla flera barn. Barnmedlemmar reproducerar ändringarna från operationsloggen i sina egna data
Även om applikationer som standard kommer att fråga den primära medlemmen för både läsning och skrivning, kan du konfigurera dina inställningar för att läsa från en eller flera av de sekundära medlemmarna. En sekundär medlem kan bli primär om primären kopplas bort eller steg.
För att konfigurera replikeringen börjar vi med att lägga till ip till värden.
 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

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

Nu måste vi göra för att starta MongoDB -konfigurationen för detta stoppar vi MongoDB -processen på varje server.
service mongodb stopp

Nu måste vi skapa en katalog som ska användas för att lagra våra data. Skapa en katalog med följande kommando:
mkdir / mongo-metadata

För att återspegla vår nya replikeringsuppsättningskonfiguration
 nano / etc / mongodb.conf dbpath = / mongo-metadata port = 27017 replSet = rs0 fork = true

Spara och stäng filen. Starta replikeringsmedlemmen genom att utfärda följande kommando:
mongod --config / etc / mongodb.conf

Dessa steg måste upprepas för varje medlem i replikuppsättningen.
Starta replikeringsuppsättningen
Nu när du har konfigurerat varje medlem i replikeringsuppsättningen och startat mongodprocessen på varje maskin kan du starta replikering och lägga till varje medlem.
Skriv i en av dina medlemmar:
mongo
Detta ger dig en MongoDB -prompt för den nuvarande medlemmen.
Börja replikera tuning genom att ange:
rs.initiera ()

Detta kommer att starta replikeringsuppsättningen och lägga till servern som du är ansluten till som den första medlemmen i uppsättningen. Detta kan ses genom att skriva:
 rs.conf () {"_id": "rs0" "version": 1, "members": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}}

Nu kan du lägga till noderna till replikuppsättningen genom att referera till värdnamnet du gav dem i filen / etc / hosts:
 rs.add ("mongo1.example.com") {"Ok": 1}

Gör detta för var och en av dina återstående replikationsmedlemmar. Din replikeringsuppsättning ska nu vara igång.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave