Spisie treści
MongoDB to bardzo popularna baza danych NoSQL. Jest często używany do przechowywania danych aplikacji i informacji o witrynie oraz zarządzania nimi. MongoDB oferuje dynamiczny projekt schematu, łatwą skalowalność i format danych, który jest łatwo dostępny programowo.Zobaczymy, jak skonfigurować replikację danych, aby zapewnić wysoką dostępność danych i stworzyć solidny system przełączania awaryjnego. Jest to ważne w każdym środowisku produkcyjnym, w którym awaria bazy danych miałaby negatywny wpływ na Twoją organizację lub firmę.
Co to jest zestaw replikacji MongoDB?
MongoDB obsługuje replikację poprzez aplikację o nazwie Zestawy replikacji.Zestawy replikacji w swojej podstawowej formie są nieco podobne do węzłów w konfiguracji master/slave. Członek z jednym rodzicem jest używany jako podstawa do wprowadzania zmian do członków podrzędnych.
Różnica między zestawem replikacji a replikacją typu master-slave polega na tym, że zestaw replikacji ma nieodłączny mechanizm automatycznego przełączania awaryjnego w przypadku, gdy podstawowy element członkowski jest niedostępny.
Główny element członkowski: podstawowy element członkowski jest domyślnym punktem dostępu dla transakcji z zestawem replikacji. Jest to jedyny członek, który może akceptować operacje zapisu.
Każdy zestaw replikacji może mieć jednocześnie tylko jeden element podstawowy. Dzieje się tak, ponieważ replikacja odbywa się przez kopiowanie dziennika operacji i powtarzanie zmian w zestawie danych replikacji wtórnej. Jeśli wiele obiektów podstawowych zaakceptowałoby operacje zapisu, doprowadziłoby to do konfliktów danych.
Członkowie podrzędni - zestaw replikacji może zawierać wiele elementów podrzędnych. Członkowie podrzędni odtwarzają zmiany z dziennika operacji we własnych danych
Chociaż aplikacje domyślnie będą wysyłać zapytania do podstawowego elementu członkowskiego zarówno do odczytu, jak i do zapisu, można skonfigurować ustawienia tak, aby odczytywały z jednego lub kilku pomocniczych członków. Pomocniczy element członkowski może stać się podstawowym, jeśli podstawowy rozłączy się lub wykona kroki.
Aby skonfigurować replikację zaczynamy od dodania adresu IP do hosta.
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
Edytuj plik / etc / hostname:
nano / etc / nazwa hosta mongo0.example.com
Teraz musimy zrobić, aby uruchomić konfigurację MongoDB, w tym celu zatrzymujemy proces MongoDB na każdym serwerze.
przystanek serwisowy mongodb
Teraz musimy skonfigurować katalog, który będzie używany do przechowywania naszych danych. Utwórz katalog za pomocą następującego polecenia:
mkdir / mongo-metadane
Aby odzwierciedlić naszą nową konfigurację zestawu replikacji
nano / etc / mongodb.conf dbpath = / mongo-metadata port = 27017 replSet = rs0 fork = true
Zapisz i zamknij plik. Uruchom element członkowski replikacji, wydając następujące polecenie:
mongod --config /etc/mongodb.conf
Te kroki należy powtórzyć dla każdego elementu zestawu replik.
Uruchom zestaw replikacji
Teraz, po skonfigurowaniu każdego członka zestawu replikacji i uruchomieniu procesu mongod na każdym komputerze, możesz rozpocząć replikację i dodać każdego członka.
W jednym ze swoich członków napisz:
mongo
Spowoduje to wyświetlenie monitu MongoDB dla bieżącego członka.
Rozpocznij strojenie replikacji, wpisując:
rs.inicjacja ()
Spowoduje to uruchomienie zestawu replikacji i dodanie serwera, z którym jesteś aktualnie połączony, jako pierwszego członka zestawu. Można to zobaczyć, wpisując:
rs.conf () {"_id": "rs0" "version": 1, "members": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}
Teraz możesz dodać węzły do zestawu replik, odwołując się do nazwy hosta, którą nadałeś im w pliku / etc / hosts:
rs.add ("mongo1.example.com") {"Ok": 1}
Zrób to dla każdego z pozostałych członków replikacji. Twój zestaw replikacji powinien teraz działać.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt