Узел RabbitMQ не работает после новой установки

У меня был RabbitMQ 3.2.1 (Erl OTP 16B02 x64), работающий на Win 2008R2, однажды он начал возвращать ошибку nodedown. Я решил переустановить RabbitMQ, я удалил среду Rabbit и Erlang, очистил папку db в RABBITMQ_BASE, удалил все файлы cookie erlang и переменные RABBITMQ_NODENAME/PORT. Установил RabbitMQ 3.5.4 Erlang OTP18 x64 в качестве администратора.... но все же я не могу управлять сервисом через командную строку, он дает мне следующий вывод:

введите здесь описание изображения

Я уже видел сообщение об этой ошибке (Post1, Post2 ), но, как я вижу сейчас, все, что они предлагают, это переустановить RabbitMQ и быть осторожным с файлами cookie Erlang, и я полностью очистил систему после удаления предыдущей версии. Тем не менее, любые предложения приветствуются.

Спасибо.

UPD Забавная вещь - я заметил, что папка db в RABBITMQ_BASE пуста, поэтому она пуста в %USERPROFILE%\AppData\Roaming\RabbitMQ... Я думал, что она должна создать там структуру узла на сервисе первый старт...


person da_sann    schedule 09.12.2015    source источник


Ответы (2)


Он сообщает вам, что он пытается подключиться к узлу с именем «кролик», и сообщает вам, что есть узел, работающий с именем «RabbitMQ».

Предположительно, «RabbitMQ» действительно является вашим узлом RabbitMQ? Возможно, ваша новая установка изменила имя узла, или, может быть, вы использовали имя узла не по умолчанию, прежде чем оно было частично сброшено? Или, может быть, что-то еще... В любом случае, я знаю, что вы сказали, что почистили его, но есть определенное несоответствие в имени узла, используемом вашим сервером и клиентом rabbitmqctl.

См. Конфигурация RabbitMQ, чтобы узнать, как проверить и изменить конфигурацию (для UNIX и Windows), или попробуйте указать rabbitmqctl использовать другое имя узла (это -n в UNIX, не уверен в Windows).

person Michael    schedule 09.12.2015
comment
Я обновил снимок экрана с выводом консоли непосредственно перед тем, как опубликовать этот ответ. Имеет значение только вторая команда (которая теперь отображается), имя узла установлено по умолчанию — rabbit@servername , и я пытаюсь получить ее статус, вызвав — Rabbitmqctl status. Я не менял никакую конфигурацию, просто чистую установку, и я не могу использовать rabbitmqctl - результатом всегда является ошибка nodedown. - person da_sann; 09.12.2015
comment
Ну да, мне кажется, что узел «rabbit@servername» не работает. Однако узел «RabbitMQ@servername» работает... Вопрос в том, собираетесь ли вы использовать «rabbit@servername» или «RabbitMQ@servername» в качестве имени узла вашего сервера? Если «RabbitMQ@servername», то rabbitmqctl должен подключиться к этому, но если «rabbit@servername», вам необходимо перенастроить имя узла вашего сервера. - person Michael; 09.12.2015
comment
Попробуйте rabbitmqctl -n 'RabbitMQ@servername' или rabbitmqctl /n 'RabbitMQ@servername'. - person Michael; 09.12.2015
comment
Как я заметил ранее, статус rabbitmqctl вызывает узел по умолчанию, и по умолчанию этот узел вызывает rabbit@servername, который не работает, и из-за этого любая команда rabbitmqctl заканчивается ошибкой nodedown. - person da_sann; 10.12.2015

Мы (команда RabbitMQ) уже видели такое поведение, но пока не смогли его воспроизвести. Что мы обнаружили, так это то, что по неизвестным причинам служба Windows устанавливается без своего параметра, в частности, имя узла (rabbit@<hostname>) отсутствует, а Erlang (или Windows, я не знаю) выбирает имя службы в качестве имени узла ( RabbitMQ@<hostname>).

rabbitmqctl не может связаться с этим узлом, поскольку по умолчанию он ожидает rabbit@<hostname>. Но в любом случае, узел не работает должным образом.

Известный нам обходной путь — удалить и переустановить службу Windows.

person Jean-Sébastien Pédron    schedule 22.03.2016
comment
Давненько я не решал свою проблему, но насколько я помню это просто везение - как-то после третьей попытки сервис заработал нормально.... - person da_sann; 04.08.2016