近两个月后,在Couchbase论坛上没有收到任何回复,我将这个问题提交给更广泛的受众。
我正在两个不同的Openstack(Essex,eek)安装之间配置CB Server 2.2.0 XDCR。我已经完成了在couchbase-server文件中使用DNS FQDN技巧的一些阅读,以在start()函数中添加-name ns_1@(hostname)
值。我已经尝试过,绝对没有成功。 start()函数中已经有一个标记-name 'babysitter_of_ns_1@127.0.0.1'
,所以我不知道是否需要替换该行,注释掉或保留它。我已经尝试了所有这三个;他们似乎没有任何积极的影响。
FQDN指向Openstack floating_ip地址(亚马逊语,“公共”地址)。它们应该指向节点的fixed_ip地址(亚马逊:私有/本地)吗?在Openstack安装之间,我不相信指向一个无法访问(可能重复)的C类私有IP是有用的。
当我使用floating_ip地址创建远程集群引用到另一个集群中的节点时,当然它会创建集群引用就好了。但是当我使用该引用创建复制时,我总是会遇到两个不同的错误之一:Save request failed because of timeout
或Failed to grab remote bucket 'bucket' from any of known nodes.
我认为正在发生的事情是,在浏览存储区的群集节点之前,Openstack floating_ip
未被识别或转换为其fixed_ip
地址。我知道-name ns_1@(hostname)
修改应该解决这个问题,但我想知道是否有人在Openstack安装之间配置XDCR成功,可能会提供一些技巧或黑客攻击。
我知道这在AWS中“有效”。我相信AWS使用一些自定义DNS启用查询,以便在可用区域之间(可能在区域之间)之间返回实例的fixed_ip(“私有”IP)。 AWS中可能还有其他特殊的酱可以使其发挥作用。
答案 0 :(得分:2)
关于aws Couchbase XDCR复制的博客文章应该有所帮助!有很多步骤,所以我不会在这里粘贴它们。
http://blog.couchbase.com/cross-data-center-replication-step-step-guide-amazon-aws