2013-07-19 8 views
6

Próbuję zsynchronizować bazę danych w lokalnej instalacji CouchDB (wersja 1.3.1 na komputerze Mac) i bazę danych w Cloudant z replikacją master-master.Instalacja chmurowej i lokalnej instalacji CouchDB Dwukierunkowa replikacja

W moim lokalnym Futon http://localhost:5984/_utils skonfigurowałem replikator do replikowania mojej lokalnej bazy danych do Cloudant. Wszystko działa poprawnie, replikuje się z lokalnej bazy danych do chmurowej, ale nie wstecz. Jeśli dane ulegną zmianie w bazie danych Cloudant, zmiany te nie zostaną zreplikowane do mojej lokalnej bazy danych.

lokalny -> Cloudant = działa

Cloudant -> = local nie działa

Czy to możliwe, aby być wykonane? Czy ktoś może pomóc?

Dzięki!

+0

Czy próbowałeś tworzyć zadania replikacji w chmurze zamiast w lokalnym CouchDB? Replikator Cloudant zwykle działa lepiej ... –

Odpowiedz

5

W końcu doszedłem do wniosku, że potrzebuję tylko skonfigurować dwie replikacje z mojego lokalnego CouchDB.

Oto oba powtórzenia:

{ 
    "source":"https://username:[email protected]/cloud_db", 
    "target":"http://username:[email protected]:5985/local_db" 
} 

{ 
    "source":"http://username:[email protected]:5985/local_db", 
    "target":"https://username:[email protected]/cloud_db" 
} 

Teraz w http://localhost:5984/_utils/status.html istnieją dwa powtórzenia uruchomione.

Pamiętaj, że dodałem nazwę użytkownika i hasło do połączenia lokalnego. Dzieje się tak, ponieważ musisz być autoryzowanym użytkownikiem, aby powielać dokumenty projektowe.

Wielkie dzięki, Mike, Twoja odpowiedź bardzo pomogła!

4

Czy możesz spróbować podać pełne adresy URL dla źródła i celu? Myślę, że to będzie wyglądać:

#create the replicator database for your local server 
curl -X PUT 'http://127.0.0.1:5984/_replicator' 

następnie przesłać ten dokument:

{ 
    "source":"https://username:[email protected]/source_db", 
    "target":"http://127.0.0.1:5985/target_db" 
} 

to powinieneś być w stanie monitorować, które przez:

http://127.0.0.1:5984/_active_tasks 

Jeśli to nie zadziała dla ciebie, możesz skopiować/wkleić:

  • Korpus Dokument e w bazie _replicator
  • grep plik dziennika Wszystko z _replication

Ponadto, jest tam klasyczne „haczyka” tu, to myślę, że trzeba 'pisarza uprawnienia zarówno źródła i docelowej bazy danych. Może się to wydawać dziwne, ale dzieje się tak dlatego, że replikator zapisuje dokumenty punktów kontrolnych zarówno w źródle, jak i w celu, aby następnym razem, gdy poprosisz o replikację, nie musi zaczynać od zera.

Powiązane problemy