BigCouch群集连接问题

时间:2011-12-10 21:17:47

标签: erlang couchdb cluster-computing nodes bigcouch

我已经在两台不同的机器上成功设置了BigCouch。它们都在当地很好地运行。当我使用以下命令之一或两者将它们加入集群时:curl -X PUT machine1:5986 / nodes / bigcouch @ machine2 -d {} curl -X PUT machine2:5986 / nodes / bigcouch @ machine1 -d {} < / p>

我总是收到积极的结果。数据库节点包含两个文件bigcouch @ machine2,bigcouch @ machine1。但事实上,它总是很糟糕。我在BigCouch的命令行中看到了这条错误消息

= * ERROR REPORT ==== 2011年12月9日:: 20:01:40 ===过程中的错误&lt; 0.3117.0&gt;在节点'bigcouch@machine1.fr'上,退出值为:{{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go, 2}]}&lt; 148&gt; 1 2011-12-09T19:01:40.559992Z machine1 twig&lt; 0.159.0&gt; -------- - mem3_sync节点 - &gt; 'bigcouch @ machine2'{{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]}&lt; 148&gt; 1 2011-12-09T19:01:40.560106Z machine1 twig&lt; 0.159.0&gt; -------- - mem3_sync dbs - &gt; 'bigcouch @ machine2'{{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]}&lt; 148&gt; 1 2011-12-09T19:01:40.560205Z machine1 twig&lt; 0.159.0&gt; -------- - mem3_sync _users - &gt; 'bigcouch @ machine2'{{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]} [错误] [模拟器] [--------]过程中的错误&lt; 0.3198.0&gt;节点'bigcouch @ machine2'上有退出值:{{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2} ]}&lt; 147&gt; 1 2011-12-09T19:01:45.560979Z machine1 twig emulator msg - 进程错误&lt; 0.3198.0&gt;在节点'bigcouch @ machine1'上,退出值为:{{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2} ]} *

也许这是防火墙?如果是,请告诉我让节点相互连接的范围端口。如果没有,请向我解释一下如何解决它以便连接它们。

在文档中,他们要求节点可以相互ping通,节点设置相同的魔术cookie。我的机器可以相互ping通,但什么是魔法饼干?

1 个答案:

答案 0 :(得分:0)

有时,您可以在首次连接节点时看到此错误,因为有各种进程接收更新消息并监视其他节点以及内部复制器。这些消息是无害的,但如果你持续看到“noconnect”,那么就会出现问题。

在每个实例上都有一个文件/etc/vm.args,在其中您将看到两个感兴趣的值,-name和-setcookie第一个-name对应于连接节点时必须使用的文档ID第二个是魔术cookie,它必须在所有erlang节点上相同,以便它们彼此交谈。如果未设置此cookie,则默认为〜/ .erlang-cookie

中的值

执行“make dev”时,它将构建一个3节点集群,您可以检查它以查看应如何设置这些位。

此外,您只需要在一侧运行连接,.eg。 node2到node1作为内部复制器将同步集群中的节点dbs