我需要本地Couchbase集群并将来自prod集群的数据复制到它上,不能让它直接安装在OS上(因为vbucket不兼容- prod集群在linux上)。
码头工人负责营救。我成功地创建了Dockerfile,you can see it here.
现在,集群运行,它可以在局域网内到达,所有必要的端口都在转发- I used tricks described here
我成功地在XDCR选项卡中创建了集群引用,但是每当我试图复制bucket的数据时,它都会将集群的主机名更改为一些不合理的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 run -h更改容器的主机名,这似乎没有帮助。
有人吗,你们把XDCR设置为在码头容器中运行的集群吗?
发布于 2015-05-31 20:45:19
集群不会接受您的节点作为其一部分,因此它会被删除。好像你还没把你的关系网设置好。
可能需要更多开放的端口:(所有节点到节点端口) http://docs.couchbase.com/couchbase-manual-2.5/cb-install/#network-ports。
另外,您如何启动您的容器?将公开放入dockerfile不会打开端口,还需要在命令中添加-P才能真正公开端口
发布于 2016-10-03 14:32:47
最后我弄明白了。第一步是将couchbase主机名设置为从主集群访问的内容。您必须做的第二件事是更新从集群上的主机文件,将当前的127.0.0.1定义替换为COUCHBASE_HOSTNAME是上面使用的主机名,我无法使用公共IP地址,必须使用一个域名,其中DNS记录指向从服务器:
127.0.0.1 COUCHBASE_HOSTNAME
https://stackoverflow.com/questions/30264884
复制相似问题