我需要有本地Couchbase集群并将我们的prod集群中的数据复制到它上面,不能直接在OS X上安装它(因为vbuckets不兼容 – prod集群在linux上).
Docker用于救援.我设法创建了Dockerfile,you can see it here.
现在,集群运行,它在LAN内可达,所有必要的端口都转发 – I used tricks described here
我在XDCR选项卡中成功创建了集群引用,但每当我尝试复制存储桶的数据时 – 它会将我的集群的主机名更改为某个非敏感的IP地址并创建一个日志条目:
Updated remote cluster `mycluster` hostname to "172.17.0.5:8091"
because old one ("mylaptop.company.com:8091")
is not part of the cluster anymore
我知道Couchbase对ip地址非常敏感,正如你所看到的,我正在使用我的机器的主机名(docker容器的主机).我尝试使用docker run -h更改容器的主机名,这似乎没什么帮助.
有人,你们有没有设置XDCR与在docker容器中运行的集群?
最佳答案
群集不会接受您的节点作为其中的一部分,因此它被淘汰.好像你没有正确设置网络.
可能是您需要更多端口打开:(所有节点到节点端口)http://docs.couchbase.com/couchbase-manual-2.5/cb-install/#network-ports
另外,你如何启动你的容器?将booth放在dockerfile中不会打开端口,你还需要在命令中放入-P来真正暴露端口