MongoMultiMaster

Software screenshot:
MongoMultiMaster
Software detaljer:
Version: 0.0.4
Upload dato: 20 Feb 15
Udvikler: Rick Copeland
Licens: Gratis
Popularitet: 85

Rating: 3.0/5 (Total Votes: 2)

MongoMultiMaster er et Python værktøj, der giver dig mulighed for at oprette flere mester replikering med MongoDB. & Nbsp; Det er afgjort ikke understøttes af 10gen, skaberne af MongoDB.
Det virker ved at forespørge OPLOG på én replika sæt og gennemførelsen af ​​sine aktiviteter til en anden replika sæt. Det understøtter tovejsreplikering ved at mærke hvert dokument replikeret med sin kilde.
Installation
For at installere, bruge pip:
pip installere MongoMultiMaster
MongoDB opsætning
MMM skal have adgang til replika sæt OPLOG for hver master. Det betyder, at det ikke virker med servere, der er konfigureret som enkeltstående servere. Hvis du vil konvertere et standalone server til en singleton replika sæt, du først nødt til at fortælle det om sættet er det i ved lanceringen tid:
& Nbsp; mongod --replSet foo
Derefter at starte replika sæt, skal du udføre følgende ved mongo shell:
> Rs.initiate ()
MongoMultiMaster Replication opsætning
Når du har oprettet den replika sæt mester, er du nødt til at fortælle MMM hvor serverne er. Dette sker gennem en YAML konfigurationsfil. En prøve konfigurationsfil med to servere er inkluderet nedenfor:
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"
Først, lad os kontrollere, at der er ingen konfiguration, og at vi kan oprette forbindelse til alle servere i konfigurationsfilen:
 mmm -c test.yml klar-config
Om at rydde config på servere: ['server_a', 'server_b'], er du sikker? (Yn) y
Klar config for server_a
Klar config for server_b
& Nbsp; mmm -c test.yml dump-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 Replication Config
=== Server_b Replication Config
Dernæst vil vi oprette to replikerede samlinger:
& Nbsp; mmm -c test.yml replikat --src = server_a / test.foo --dst = server_b / test.foo
& Nbsp; mmm -c test.yml replikat --src = server_a / test.bar --dst = server_b / test.bar
Og bekræfte de er konfigureret korrekt:
 mmm -c test.yml dump-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 Replication Config
=== Server_b Replication Config
& Nbsp; - test.foo <= server_a / test.foo
& Nbsp; - test.bar <= server_a / test.bar
Nu, lad os gøre replikation tovejs:
& Nbsp; mmm -c test.yml replikat --src = server_b / test.foo --dst = server_a / test.foo
& Nbsp; mmm -c test.yml replikat --src = server_b / test.bar --dst = server_a / test.bar
Og kontroller, at den er korrekt ...
 mmm -c test.yml dump-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 Replication Config
& Nbsp; - test.foo <= server_b / test.foo
& Nbsp; - test.bar <= server_b / test.bar
=== Server_b Replication Config
& Nbsp; - test.foo <= server_a / test.foo
& Nbsp; - test.bar <= server_a / test.bar
Nu kan vi køre replikator:
& Nbsp; mmm -c test.yml run
Ting at overveje
- Replication kan falde bagud hvis du skriver en masse. Dette er ikke håndteres overhovedet.
- Replikering begynder på det tidspunkt, hvor mmm køre først blev kaldt. Du bør være i stand til at stoppe / starte mmm og få den fortsætte, hvor den slap.
- Konflikter mellem mestre ikke håndteres; hvis du skriver til det samme dokument på begge hoveder ofte, kan du komme ud af sync.
- Replication indsætter et bogholderi felt i hvert dokument til at betyde serveren UUID, der sidst skrev dokumentet. Dette udvider størrelsen på hvert dokument smule.
Der er sikkert skarpe kanter, andre ubesvarede bugs og forskellige grimme ting venter på dig, hvis du bruger MMM i et produktionssystem uden grundig test. . Men hvis du kan lide at køre med en saks og ellers leve faretruende, er du velkommen til at prøve det

Krav :

  • Python

Lignende software

Pyrseas
Pyrseas

20 Feb 15

db4o
db4o

12 May 15

SQLite Export
SQLite Export

20 Feb 15

Andre software developer Rick Copeland

Ming
Ming

12 May 15

Zarkov
Zarkov

14 Apr 15

Kommentarer til MongoMultiMaster

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!