0

我目前正在尝试 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 无法连接到它。

4

2 回答 2

0

Bigcouch 节点使用分布式 erlang 原语(不是http)相互通信。节点名称的格式为“name@host”,足以让节点进行交互。具体来说,他们在远程主机上的一个众所周知的端口上联系 epmd 守护进程 (http://www.erlang.org/doc/man/epmd.html)。

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

于 2011-12-09T14:26:22.680 回答
0

问题已解决——看来两个 bigcouch 节点必须具有相同的魔法 cookie 才能成功通信。安装开发集群时,会自动生成此魔术 cookie,因此除非手动同步魔术 cookie,否则无法从另一个集群添加节点。需要将以下行添加到 /opt/bigcouch/rel/*/etc/vm.args:

-setcookie 任意字符串

于 2011-12-14T12:08:09.747 回答