我正在尝试同步本地CouchDB安装(Mac上的v1.3.1)中的数据库和使用主-主复制的Cloudant上的数据库。
在我本地的Futon http://localhost:5984/_utils
中,我配置了Replicator将我的本地数据库复制到Cloudant。从本地数据库复制到Cloudant数据库时,一切工作正常,但不能向后复制。如果Cloudant数据库中的数据发生更改,这些更改不会复制到我的本地数据库中。
本地->云=工程
云->本地=不起作用
这有可能实现吗?有人能帮上忙吗?
谢谢!
发布于 2013-07-19 23:28:01
最后,我发现我只需要从本地CouchDB配置两个副本。
下面是两个副本:
{
"source":"https://username:pwd@username.cloudant.com/cloud_db",
"target":"http://username:pwd@localhost:5985/local_db"
}
{
"source":"http://username:pwd@localhost:5985/local_db",
"target":"https://username:pwd@username.cloudant.com/cloud_db"
}
现在,在http://localhost:5984/_utils/status.html
中有两个复制正在运行。
请注意,我还向本地连接添加了用户名和密码。这是因为您需要是授权用户才能复制设计文档。
非常感谢,迈克,你的回答帮了大忙!
发布于 2013-07-19 15:32:37
您可以尝试为源和目标指定完整的URL吗?我认为它应该是这样的:
#create the replicator database for your local server
curl -X PUT 'http://127.0.0.1:5984/_replicator'
然后上传此文档:
{
"source":"https://username:pwd@username.cloudant.com/source_db",
"target":"http://127.0.0.1:5985/target_db"
}
然后,您应该能够通过以下命令进行监控:
http://127.0.0.1:5984/_active_tasks
如果这对你不起作用,你能复制/粘贴:
grep日志文件中的任何内容
此外,这里有一个经典的“问题”,我认为您需要对源数据库和目标数据库都具有“写”权限。这可能看起来很奇怪,但这是因为复制器同时在源和目标上保存检查点文档,以便下次您请求复制时,它不必从头开始。
https://stackoverflow.com/questions/17749012
复制相似问题