我正在尝试使用bigcouch,我不太明白它是如何识别群集中的节点的。例如,开发群集由3个节点组成,这些节点侦听端口15984 / 15986,25984 / 25986和35984/35986。当我们向集群添加节点时,我们将id为“dev2@127.0.0.1”和“dev3@127.0.0.1”的文档附加到节点数据库(参见http://bigcouch.cloudant.com/develop)。现在端口号在哪里?节点1如何知道节点2和3监听上面的花盆? 相关问题:如果我想将位于不同主机上的节点添加到此群集,我该如何做?添加“dev1 @ IP”似乎不起作用,bigcouch无法连接到它。
答案 0 :(得分:0)
Bigcouch节点使用分布式erlang原语(不 http)相互通信。节点名称的格式为“name @ host”,足以让节点进行交互。具体来说,他们在远程主机上的一个着名端口上联系epmd守护进程(http://www.erlang.org/doc/man/epmd.html)。
答案 1 :(得分:0)
问题已经解决 - 似乎两个bigcouch节点必须具有相同的魔术cookie才能成功通信。安装开发群集时,会自动生成此魔术cookie,因此除非手动同步魔术cookie,否则无法从其他群集添加节点。将以下行添加到/ opt / bigcouch / rel / * / etc / vm.args是必要的:
-setcookie any_string