MongoDB
Mongo jako zestaw repliki
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.
- 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)
- 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
- 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
- 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
- _id: nazwa zestawu replik („s0”)
- 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.
- Zainicjuj obiekt config za pomocą następującego polecenia w powłoce mongo.
rs.initiate(config)
- 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();