0

2 台の異なるマシンで BigCouch を正常にセットアップしました。どちらもローカルで非常にうまく実行されます。次のコマンドのいずれかまたは両方を使用してクラスターに参加すると: curl -X PUT machine1:5986/nodes/bigcouch@machine2 -d {} curl -X PUT machine2:5986/nodes/bigcouch@machine1 -d {}

私は常に肯定的な結果を受け取ります。データベース ノードには、bigcouch@machine2、bigcouch@machine1 という 2 つのドキュメントが含まれています。しかし実際には、それは常に間違っています。BigCouch のコマンド ラインにこのエラー メッセージが表示されました

=*ERROR REPORT==== 9-Dec-2011::20:01:40 === ノード 'bigcouch@machine1.fr' のプロセス <0.3117.0> でエラーが発生し、終了値: {{rexi_DOWN,noconnect} ,[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]} <148>1 2011-12-09T19:01:40.559992Z machine1小枝 <0.159.0> -------- - mem3_sync ノード -> 'bigcouch@machine2' {{rexi_DOWN,noconnect}, [{mem3_rep,rexi_call,2}, {mem3_rep,replicate_batch,1}, {mem3_rep ,go,3}, {mem3_rep,go,2}]} <148>1 2011-12-09T19:01:40.560106Z machine1 小枝 <0.159.0> -------- - mem3_sync データベース -> ' bigcouch@machine2' {{rexi_DOWN,noconnect}, [{mem3_rep,rexi_call,2}, {mem3_rep,replicate_batch,1}, {mem3_rep,go,3}, {mem3_rep,go,2}]} <148>1 2011 -12-09T19:01:40.560205Z machine1 小枝 <0.159.0> -------- - mem3_sync _users -> 'bigcouch@machine2' {{rexi_DOWN,noconnect}, [{mem3_rep,rexi_call,2}, {mem3_rep,replicate_batch,1}, {mem3_rep,go,3}, {mem3_rep,go,2}]} [エラー] [エミュレータ] [--------] ノード 'bigcouch@machine2' のプロセス <0.3198.0> でエラーが発生し、終了値: {{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch] ,1},{mem3_rep,go,3},{mem3_rep,go,2}]} <147>1 2011-12-09T19:01:45.560979Z machine1 twig emulator msg - ノードのプロセス <0.3198.0> でエラーが発生しました'bigcouch@machine1' の終了値: {{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]} *終了値: {{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]} <147>1 2011 -12-09T19:01:45.560979Z machine1 twig emulator msg - ノード 'bigcouch@machine1' のプロセス <0.3198.0> でエラーが発生しました。終了値: {{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{ mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]}*終了値: {{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]} <147>1 2011 -12-09T19:01:45.560979Z machine1 twig emulator msg - ノード 'bigcouch@machine1' のプロセス <0.3198.0> でエラーが発生しました。終了値: {{rexi_DOWN,noconnect},[{mem3_rep,rexi_call,2},{ mem3_rep,replicate_batch,1},{mem3_rep,go,3},{mem3_rep,go,2}]}*

多分それはファイアウォールで保護されていますか?はいの場合、ノードが相互に接続できる範囲のポートを教えてください。そうでない場合は、それを説明して、それらを接続するための解決方法を教えてください。

ドキュメントでは、ノードが相互に ping を実行できるようにし、ノードが同じマジック クッキーを設定するよう求めています。私のマシンは互いに ping を実行できますが、マジック クッキーとは何ですか?

4

1 に答える 1

0

ノードが最初に接続されたときに、更新メッセージを受信し、他のノードと内部レプリケーターを監視するさまざまなプロセスがあるため、このエラーが表示されることがあります。これらのメッセージは無害ですが、「noconnect」が表示される場合は何か問題があります。

各インスタンスには /etc/vm.args というファイルがあり、そこには -name と -setcookie という 2 つの重要な値が表示されます。最初の -name はノードを接続するときに使用する必要があるドキュメント ID に対応し、2 番目は相互に通信するために、すべての erlang ノードで同じでなければならないマジック クッキー。この Cookie が設定されていない場合、デフォルトで ~/.erlang-cookie の値になります。

「make dev」を実行すると、これらのビットがどのように設定されているかを調べることができる 3 ノード クラスタが構築されます。

また、一方の側でのみ接続を実行する必要があります。内部レプリケータがクラスタ全体でノード データベースを同期するため、ノード 2 からノード 1 へ

于 2011-12-11T12:06:40.280 に答える