Szukaj…


Mongodb jako zestaw replik

Tworzymy mongodb jako zestaw replik posiadający 3 instancje. Jedna instancja byłaby pierwotna, a pozostałe 2 byłyby wtórne.

Dla uproszczenia zamierzam mieć zestaw replik z trzema instancjami mongodb działającymi na tym samym serwerze, a zatem aby to osiągnąć, wszystkie trzy instancje mongodb działałyby na różnych numerach portów.

W środowisku produkcyjnym, w którym masz dedykowaną instancję mongodb działającą na jednym serwerze, możesz ponownie użyć tych samych numerów portów.

  1. Utwórz katalogi danych (ścieżka, w której dane mongodb byłyby przechowywane w pliku)
- mkdir c:\data\server1 (datafile path for instance 1)
- mkdir c:\data\server2 (datafile path for instance 2)
- mkdir c:\data\server3 (datafile path for instance 3)
  1. za. Uruchom pierwszą instancję mongod
  • Otwórz wiersz polecenia i wpisz następujące naciśnięcie enter.
mongod --replSet s0 --dbpath c:\data\server1 --port 37017  --smallfiles --oplogSize 100

Powyższe polecenie kojarzy instancję mongodb z nazwą replikiSet „s0” i uruchamia pierwszą instancję mongodb na porcie 37017 z oplogSize 100 MB

  1. b. Podobnie uruchom drugą instancję Mongodb
mongod --replSet s0 --dbpath c:\data\server2 --port 37018  --smallfiles --oplogSize 100

Powyższe polecenie kojarzy instancję mongodb z nazwą replikiSet „s0” i uruchamia pierwszą instancję mongodb na porcie 37018 z oplogSize 100 MB

  1. do. Teraz uruchom trzecią instancję Mongodb
mongod --replSet s0 --dbpath c:\data\server3 --port 37019  --smallfiles --oplogSize 100

Powyższe polecenie kojarzy instancję mongodb z nazwą replikiSet „s0” i uruchamia pierwszą instancję mongodb na porcie 37019 z oplogSize 100 MB

Po uruchomieniu wszystkich 3 instancji te 3 instancje są obecnie od siebie niezależne. Musielibyśmy teraz zgrupować te instancje jako zestaw replik. Robimy to za pomocą obiektu config.

3.a Połącz się z dowolnym serwerem mongod za pośrednictwem powłoki mongo. Aby to zrobić, otwórz wiersz polecenia i wpisz.

mongo --port 37017

Po połączeniu z powłoką mongo utwórz obiekt config

   var config = {"_id":"s0", members[]};

ten obiekt konfiguracyjny ma 2 atrybuty

    1. _id: nazwa zestawu replik („s0”)
    2. członkowie: [] (członkowie to tablica instancji mongod. pozostawmy to na razie puste, dodamy członków za pomocą polecenia push).

3.b Wcisnąć (dodać) instancje mongod do tablicy członków w obiekcie config. Na typ muszli mongo

 config.members.push({"_id":0,"host":"localhost:37017"});
 config.members.push({"_id":1,"host":"localhost:37018"});
 config.members.push({"_id":2,"host":"localhost:37019"});

Każdej instancji mongod przypisujemy identyfikator i host. _id może być dowolnym unikalnym numerem, a host powinien być nazwą hosta serwera, na którym działa, a następnie numerem portu.

  1. Zainicjuj obiekt config za pomocą następującego polecenia w powłoce mongo.
rs.initiate(config)
  1. Daj mu kilka sekund, a mamy zestaw replik 3 instancji mongod działających na serwerze. wpisz następujące polecenie, aby sprawdzić status zestawu replik i określić, który z nich jest podstawowy, a który drugi.
rs.status();


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow