2011-12-09 137 views
0

我目前正在尝试bigcouch,但我不太明白它如何识别群集中的节点。例如,开发集群由3个节点组成,这些节点在端口15984/15986,25984/25986和35984/35986上进行侦听。当我们将节点添加到集群时,我们将具有标识“[email protected]”和“[email protected]”的文档附加到节点数据库(参见http://bigcouch.cloudant.com/develop)。现在端口号在哪里?节点1如何知道节点2和节点3在上面的罐中进行监听? 以及相关问题:如果我想将位于不同主机上的节点添加到此群集,我该怎么做?添加“dev1 @ IP”似乎不起作用,bigcouch无法连接到它。Bigcouch群集配置

回答

0

的问题已经解决了 - 看来两个bigcouch节点必须具有相同的magic cookie,才能成功通信。当安装dev群集时,这个魔术cookie会自动生成,所以除非手动同步魔术cookie,否则无法添加来自其他群集的节点。这是neccesary下面一行添加到/opt/bigcouch/rel/*/etc/vm.args:

-setcookie any_string

0

Bigcouch节点使用分布式erlang基元相互对话(而不是 http)。节点名称的格式为'name @ host',这足以让节点进行交互。具体而言,他们联系远程主机上众所周知的端口上的epmd守护程序(http://www.erlang.org/doc/man/epmd.html)。

http://www.erlang.org/doc/reference_manual/distributed.html

+0

罗伯特,感谢您的回答。那么您能否建议我如何解决从另一个开发集群添加节点时遇到的问题?除了报告noconnect之外,它不会在日志中抱怨(无论如何,它大部分时间都是这样做的,正如Chi Dung Tran正确指出的那样)。但它也不会复制(即使远程主机上的节点数据库未更改)。 – azerole