Проблема подключения кластера BigCouch - PullRequest
0 голосов
/ 11 декабря 2011

Я успешно установил BigCouch на двух разных машинах.Оба они работают очень хорошо на местном уровне.Когда я объединяю их в кластер, используя одну или обе команды: curl -X PUT machine1: 5986 / node / bigcouch @ machine2 -d {} curl -X PUT machine2: 5986 / node / bigcouch @ machine1 -d {}

Я всегда получаю положительные результаты.Узлы базы данных содержат два документа bigcouch @ machine2, bigcouch @ machine1.Но на самом деле это всегда ошибочно.Я видел это сообщение об ошибке в командной строке BigCouch

= * ОТЧЕТ ОБ ОШИБКАХ ==== 9 декабря 2011 г. :: 20: 01: 40 === Ошибка в процессе <0.3117.0> на узле'bigcouch@machine1.fr' с выходным значением: {{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 машина1 веточка <0,159.0> -------- - mem3_sync dbs -> '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}]} [ошибка] [эмулятор] [--------] Errили в процессе <0.3198.0> на узле 'bigcouch @ machine2' со значением выхода: {{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 msg эмулятора ветки machine1 - ошибка в процессе <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}]} *

Возможно, это огненная стена?Если да, пожалуйста, скажите мне порт диапазона, чтобы узлы могли соединяться друг с другом.Если нет, пожалуйста, объясните мне и как решить, как их соединить.

В документе они просят, чтобы узлы могли пропинговать друг друга, и узлы устанавливают один и тот же магический cookie.Мои машины могут пинговать друг друга, но что такое волшебное печенье?

1 Ответ

0 голосов
/ 11 декабря 2011

Иногда вы можете увидеть эту ошибку, когда узел впервые подключен, поскольку существуют различные процессы, которые получают сообщения об обновлении и контролируют другие узлы, а также внутренний репликатор. Эти сообщения безвредны, но если вы постоянно видите «noconnect», значит что-то не так.

В каждом экземпляре есть файл /etc/vm.args, в котором вы увидите два представляющих интерес значения: -name и -setcookie Первое имя соответствует идентификатору документа, который вы должны использовать при соединении узлов и во-вторых, это волшебное печенье, которое должно быть одинаковым на всех узлах эрланга, чтобы они могли общаться друг с другом. Если этот cookie не установлен, по умолчанию используется значение ~ / .erlang-cookie

Когда вы выполните «make dev», он создаст кластер из 3 узлов, который вы можете проверить, чтобы увидеть, как эти биты должны быть установлены.

Также вам нужно только запустить соединение на одной стороне, например. узел2 - узел1, поскольку внутренний репликатор будет синхронизировать базы данных узлов в кластере

...