MongoDB Replikace: Jak vytvořit MongoDB Sada replik
⚡ Chytré shrnutí
MongoDB Replikace uchovává identická data na více než jednom MongoDB server, chránící před selháním serveru a umožňující vyvažování zátěže. Seskupené MongoDB Instance tvoří sadu replik s jedním primárním členem, který přijímá zápisy, a sekundárním členem, který zpracovává operace čtení a převzetí služeb při selhání.
Co je to MongoDB replikace?
Replikace je proces, který zajišťuje, aby stejná data byla dostupná na více než jednom serveru. MongoDB Server. To je někdy nutné za účelem zvýšení dostupnosti dat.
Protože pokud váš hlavní MongoDB Server z jakéhokoli důvodu nefunguje, k datům nebude přístup. Ale pokud jste nechali data replikovat na jiný server v pravidelných intervalech, budete mít přístup k datům z jiného serveru, i když primární server selže.
Dalším účelem replikace je možnost vyvažování zátěže. Pokud se k systému připojuje mnoho uživatelů, namísto toho, aby se všichni připojovali k jednomu systému, mohou být uživatelé připojeni k více serverům, takže zátěž je rovnoměrně rozložena.
In MongoDB, více MongoDB Servery jsou seskupeny do sad nazývaných replikační sady. Sada replik bude mít primární server, který bude přijímat všechny operace zápisu od klientů. Všechny ostatní instance přidané do sady po této sadě se budou nazývat sekundární instance, které lze primárně použít pro všechny operace čtení.
Jak vytvořit sadu replik MongoDB Přidání prvního člena pomocí rs.initiate()
Jak bylo zmíněno v předchozí části, abychom umožnili replikaci, musíme nejprve vytvořit sadu replik MongoDB příklady.
Předpokládejme, že v našem příkladu máme 3 servery s názvem ServerA, ServerB a ServerC. V této konfiguraci bude ServerA naším primárním serverem a ServerB a ServerC budou naše sekundární servery. Níže uvedený snímek obrazovky vám poskytne lepší představu.
Níže jsou uvedeny kroky, které je třeba dodržet pro vytvoření MongoDB sada replik spolu s přidáním prvního člena do sady.
Krok 1) Ujistěte se, že jsou přidány všechny instance mongod.exe
Ujistěte se, že všechny instance mongod.exe, které budou přidány do sady replik, jsou nainstalovány na různých serverech. Tím se zajistí, že i když jeden server dojde k výpadku, ostatní budou k dispozici, a tedy i další instance. MongoDB bude k dispozici.
Krok 2) Všechny instance mongo.exe se vzájemně propojují
Zajistěte, aby se všechny instance mongo.exe mohly vzájemně propojit. Ze serveru ServerA zadejte níže uvedené 2 příkazy.
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
Podobně proveďte totéž ze zbývajících serverů.
Krok 3) Spusťte první instanci mongod.exe
Spusťte první instanci mongod.exe s volbou replSet. Tato volba poskytuje skupinuping pro všechny servery, které budou součástí této sady replik.
mongo --replSet "Replica1"
Kde „Replica1“ je název vaší sady replik. Pro název sady replik si můžete vybrat jakýkoli smysluplný název.
Krok 4) První server je přidán do sady replik
Nyní, když je první server přidán do sady replik, dalším krokem je inicializace sady replik vydáním následujícího příkazu rs.initiate().
Krok 5) Ověření sady replik
Ověřte sadu replik spuštěním příkazu rs.conf(), abyste se ujistili, že je sada replik správně nastavena.
Sada replik: Přidání sekundárního pomocí rs.add()
Sekundární servery lze přidat do sady replik pouhým použitím příkazu rs.add. Tento příkaz převezme název sekundárních serverů a přidá servery do replikační sady.
Krok 1) Předpokládejme, že máte ServerA, ServerB a ServerC, které musí být součástí vaší sady replik, a ServerA je definován jako primární server v sadě replik.
Chcete-li do sady replik přidat ServerB a ServerC, zadejte následující příkazy:
rs.add("ServerB") rs.add("ServerC")
Sada replik: Překonfigurování nebo odstranění pomocí rs.remove()
Pro odstranění serveru z konfigurační sady musíme použít příkaz „rs.remove“.
Krok 1) Nejprve proveďte vypnutí instance, kterou chcete odstranit. To lze provést spuštěním příkazu db.shutdownServer ze shellu Mongo.
Krok 2) Připojte se k primárnímu serveru.
Krok 3) Pomocí příkazu rs.remove odeberte požadovaný server ze sady replik. Předpokládejme tedy, že máte sadu replik se Serverem A, Serverem B a Serverem C a chcete ze sady replik odebrat Server C, zadejte příkaz:
rs.remove("ServerC")
Odstraňování problémů se sadami replik
Následují stejné způsoby, jakými lze řešit problémy s používáním replikačních sad.
- Ujistěte se, že se všechny instance mongo.exe mohou vzájemně propojit. Předpokládejme, že máte 3 servery s názvem ServerA, ServerB a ServerC. Ze ServeruA zadejte následující 2 příkazy:
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
- Spusťte příkaz rs.status. Tento příkaz zobrazí stav sady replik. Ve výchozím nastavení si každý člen navzájem odesílá zprávy nazývané „prezenční signál“, které pouze indikují, že server je aktivní a funguje. Příkaz „status“ zjistí stav těchto zpráv a zobrazí, zda se vyskytly nějaké problémy s některými členy v sadě replik.
- Zkontrolujte velikost Oplogu. Oplog je kolekce v MongoDB který ukládá historii zápisů, které byly provedeny do MongoDB databáze. MongoDB pak použije tento Oplog k replikaci zápisů na ostatní členy v sadě replik. Chcete-li zkontrolovat Oplog, připojte se k požadované instanci člena a spusťte příkaz rs.printReplicationInfo. Tento příkaz zobrazí velikost protokolu a jak dlouho může uchovávat transakce v jeho souboru protokolu, než se zaplní.


