【问题标题】:Bigcouch cluster configurationBigcouch 集群配置
【发布时间】:2011-12-14 20:08:09
【问题描述】:

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

【问题讨论】:

    标签: couchdb bigcouch


    【解决方案1】:

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

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

    【讨论】:

    • 罗伯特,感谢您的回答。那么您能否建议我如何解决从另一个开发集群添加节点的问题?除了报告 noconnect 之外,它不会在日志中抱怨(无论如何它大部分时间都会这样做,就像上面的 Chi Dung Tran 正确陈述的那样)。然而它也不会复制(即使远程主机上的节点数据库也没有更改)。
    【解决方案2】:

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

    -setcookie any_string

    【讨论】:

      猜你喜欢
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 2016-05-22
      • 2013-11-26
      • 2016-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多