首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >云和本地CouchDB安装双向复制

云和本地CouchDB安装双向复制
EN

Stack Overflow用户
提问于 2013-07-19 22:44:51
回答 2查看 2K关注 0票数 6

我正在尝试同步本地CouchDB安装(Mac上的v1.3.1)中的数据库和使用主-主复制的Cloudant上的数据库。

在我本地的Futon http://localhost:5984/_utils中,我配置了Replicator将我的本地数据库复制到Cloudant。从本地数据库复制到Cloudant数据库时,一切工作正常,但不能向后复制。如果Cloudant数据库中的数据发生更改,这些更改不会复制到我的本地数据库中。

本地->云=工程

云->本地=不起作用

这有可能实现吗?有人能帮上忙吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-20 07:28:01

最后,我发现我只需要从本地CouchDB配置两个副本。

下面是两个副本:

代码语言:javascript
代码运行次数:0
运行
复制
{
    "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中有两个复制正在运行。

请注意,我还向本地连接添加了用户名和密码。这是因为您需要是授权用户才能复制设计文档。

非常感谢,迈克,你的回答帮了大忙!

票数 5
EN

Stack Overflow用户

发布于 2013-07-19 23:32:37

您可以尝试为源和目标指定完整的URL吗?我认为它应该是这样的:

代码语言:javascript
代码运行次数:0
运行
复制
#create the replicator database for your local server
curl -X PUT 'http://127.0.0.1:5984/_replicator'

然后上传此文档:

代码语言:javascript
代码运行次数:0
运行
复制
{  
   "source":"https://username:pwd@username.cloudant.com/source_db",
   "target":"http://127.0.0.1:5985/target_db"
}

然后,您应该能够通过以下命令进行监控:

代码语言:javascript
代码运行次数:0
运行
复制
http://127.0.0.1:5984/_active_tasks

如果这对你不起作用,你能复制/粘贴:

  • _replicator数据库中的文档正文
  • 使用_replication

grep日志文件中的任何内容

此外,这里有一个经典的“问题”,我认为您需要对源数据库和目标数据库都具有“写”权限。这可能看起来很奇怪,但这是因为复制器同时在源和目标上保存检查点文档,以便下次您请求复制时,它不必从头开始。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17749012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档