MongoMultiMaster egy Python eszköz, amely lehetővé teszi, hogy hozzanak létre multi-master replikációt a MongoDB. & Nbsp; A hangsúlyozottan nem támogatja 10gen, a döntéshozók a MongoDB.
Úgy működik, lekérdezésé- oplog egy replikakészletből és alkalmazása során tevékenységüket egy másik replikakészletből. Támogatja a kétirányú replikáció a zenéből minden dokumentum replikációt végzett a forrása.
telepítése
Telepítése, használata pip:
pip telepíteni MongoMultiMaster
MongoDB beállítás
MMM kell férnie a replikakészletek oplog minden mester. Ez azt jelenti, hogy nem működik a konfigurált kiszolgálók mint önálló szerverek. Átalakítani egy önálló szervert egy egyke replikakészletből, először meg kell neki adni, a beállított ez a at dob idő:
& Nbsp; mongod --replSet ize
Aztán, hogy indítsa el a replikakészletet, meg kell hajtani a következő a mongo shell:
> Rs.initiate ()
MongoMultiMaster replikáció beállítás
Miután létrehozta a replikakészletet mester, akkor be kell mondani MMM, ahol a szerverek. Ez keresztül a YAML config fájlt. A minta config fájlt két szerver található meg az alábbi:
server_a:
& Nbsp; id: "2c88ae84-7cb9-40f7-835d-c05e981f564d"
& Nbsp; uri: "MongoDB: // localhost: 27019 '
server_b:
& Nbsp; id: "0d9c284b-b47c-40b5-932c-547b8685edd0"
& Nbsp; uri: "MongoDB: // localhost: 27017 '
Először is nézzük ellenőrizze, hogy nincs konfigurációs és hogy tud-e csatlakozni az összes szerver a konfigurációs fájlban:
mmm -c test.yml világos-config
Körülbelül egyértelmű config szervereken: ['server_a', 'server_b'], biztos vagy benne? (In) y
Tiszta config server_a
Tiszta config server_b
& Nbsp; mmm -c test.yml kiírási-config
=== Server Config ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => MongoDB: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => MongoDB: // localhost: 27017
=== Server_a replikáció Config
=== Server_b replikáció Config
Ezután fogunk létrehozni két rekonstruált gyűjtemények:
& Nbsp; mmm -c test.yml párhuzamos --src = server_a / test.foo --dst = server_b / test.foo
& Nbsp; mmm -c test.yml párhuzamos --src = server_a / test.bar --dst = server_b / test.bar
És erősítse ők konfigurált-e:
mmm -c test.yml lerakó-config
=== Server Config ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => MongoDB: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => MongoDB: // localhost: 27017
=== Server_a replikáció Config
=== Server_b replikáció Config
& Nbsp; - test.foo <= server_a / test.foo
& Nbsp; - test.bar <= server_a / test.bar
Most nézzük, hogy a replikáció kétirányú:
& Nbsp; mmm -c test.yml párhuzamos --src = server_b / test.foo --dst = server_a / test.foo
& Nbsp; mmm -c test.yml párhuzamos --src = server_b / test.bar --dst = server_a / test.bar
És ellenőrizze, hogy ez a helyes ...
mmm -c test.yml lerakó-config
=== Server Config ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => MongoDB: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => MongoDB: // localhost: 27017
=== Server_a replikáció Config
& Nbsp; - test.foo <= server_b / test.foo
& Nbsp; - test.bar <= server_b / test.bar
=== Server_b replikáció Config
& Nbsp; - test.foo <= server_a / test.foo
& Nbsp; - test.bar <= server_a / test.bar
Most, hogy tudjuk futtatni a replikátor:
& Nbsp; mmm -c test.yml run
Mit kell figyelnünk
- Replikáció lemaradni, ha írsz egy csomó. Ez nem kezelik egyáltalán.
- Replikáció kezdődik, amikor mmm távon kezdetben nevezték. Meg kell tenni, hogy stop / start mmm, és azt ott folytathatja, ahol abbahagyta.
- Konfliktusok a mesterek nem kezeli; ha írsz, hogy ugyanazt a dokumentumot mindkét fejen gyakran, akkor kap a szinkront.
- Replikáció beszúr egy könyvelési területen az egyes dokumentumot, jelezve a szerver UUID, hogy utoljára írtam a dokumentumot. Ez kibővül az egyes dokumentumok kissé.
Valószínűleg élek, más hiányzott a hibákat, és a különböző csúnya dolog vár rád, ha használja MMM olyan termelési rendszert anélkül, hogy alapos vizsgálatot. De ha úgy tetszik Running with Scissors, és egyébként veszélyes élet, nyugodtan próbáld ki.
követelmények :
- Python
Hozzászólás nem található