RabbitMQ имеет ошибку Nodedown
На машине с Windows 7 Enterprise я сделал новую установку Erlang 17.4 и RabbitMQ 3.4.3 x64. Установка прошла успешно и беспрецедентно.
Я еще не пытался создать свою первую очередь или обмен, но я уже вижу проблемы. Эта проблема аналогична другому сообщению SO, но это другое сообщение, похоже, связано с кластеризацией, которой у меня нет. Кроме того, этот другой плакат может обойти его проблему, перезапустив службу RabbitMQ; этот подход не работает для меня.
Моя "nodedown" проблема очевидна в командной строке RabbitMQ:
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.3\sbin > статус rabbitmqctl Статус node кролик @TPAJ05421843...
Ошибка: невозможно подключиться к node rabbit @TPAJ05421843: nodedown
ДИАГНОСТИКА
попытался связаться: [rabbit @TPAJ05421843]
кролик @TPAJ05421843:
* подключен к epmd (порт 4369) на TPAJ05421843
* epmd сообщает: node "кролик" вообще не работает
другие узлы на TPAJ05421843: ['RabbitMQ']
* предложение: запустите node
current node подробности:
- node имя: 'rabbitmqctl-19884 @TPAJ05421843'
- home dir: H:\
- хеш файл cookie: PD4QQCYrf0TME9vIko3Xuw ==
Исходя из вышесказанного, я решил проверить статус node явно названного "RabbitMQ" . Я получаю следующее:
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.3\sbin > rabbitmqctl -n Статус RabbitMQ
Статус node 'RabbitMQ @TPAJ05421843'...
Ошибка: невозможно подключиться к node 'RabbitMQ @TPAJ05421843': nodedown
ДИАГНОСТИКА
попытался связаться: ['RabbitMQ @TPAJ05421843']
RabbitMQ @TPAJ05421843:
* подключен к epmd (порт 4369) на TPAJ05421843
* epmd сообщает node "RabbitMQ" работает на порту 59301
* TCP-соединение выполнено успешно, но распределение Erlang не удалось
* предложение: имя хоста несоответствие?
* предложение: правильно ли установлен файл cookie?
current node подробности:
- node имя: 'rabbitmqctl-23076 @TPAJ05421843'
- home dir: H:\
- хеш файл cookie: PD4QQCYrf0TME9vIko3Xuw ==
Хорошо, это едва лучше, поскольку, по крайней мере, он признает, что "RabbitMQ" работает на порту 59301. Но что, черт возьми, это может означать, что "Распределение Erlang не удалось"?
Когда я пытаюсь исследовать эту тему, я нашел статьи, в которых говорится: "Убедитесь, что у вас есть файлы cookie". Исходя из этого, я нашел эту статью, в которой утверждается, что "несоответствие cookie" не относится ко мне, потому что я не создал (и не намеревался создавать) кластер RabbitMQ.
Что мне делать?
Ответы
Ответ 1
У меня была такая же проблема сегодня. Не было проблем с файлами cookie или брандмауэром, и окна сообщили, что служба работает успешно. Это, наконец, исправлено:
- Запустите команду RabbitMQ sbin в качестве администратора.
- Запустите "rabbitmq-service remove"
- Запустите "rabbitmq-service install"
По какой-то причине служба, настроенная установщиком, не настроила несколько записей в реестре. Запуск этого правильного набора и разрешить запуск службы.
Одна вещь, которую я заметил, заключалась в том, что до того, как я это сделал, описания службы в представлении служб Windows не было. После установки с помощью команды rabbitmq-service описание было видимым. Это может быть быстрым индикатором, если у вас такая же проблема.
Ответ 2
Из командной строки RabbitMQ sbin (запускается как администратор) выполните следующую команду:
rabbitmq-server restart
Ответ 3
Как заметил @eddyP, у меня было два разных файла cookie. Один в C:\Windows\.erlang.cookie
и один в C:\Users\my_user_name\.erlang.cookie
. Копирование первого над последним, так что оба файла были одинаковыми, исправили проблему для меня.
Ответ 4
Тот же вопрос в списке рассылки RabbitMQ: https://groups.google.com/forum/#!topic/rabbitmq-users/0s1ExFhl4hM.
Файл cookie Erlang используется rabbitmqctl
, а также серверные узлы, поэтому ему может потребоваться позаботиться (помещен в нужное место).
См. "Установка в качестве пользователя, не являющегося администратором, оставляет .erlang.cookie не в том месте" в quirks Windows.
Ответ 5
В Windown, по какой-либо причине удалите всю папку в c:\Users\xxx\AppData\Roaming\RabbitMQ\db\
(xxx
- ваше имя пользователя)
затем поток @Jerdev ответ и
Ответ 6
Если вы придете сюда искать ответ linux для того же сообщения об ошибке, попробуйте
sudo service rabbitmq-server start
(который не является блокирующей командой)
Ответ 7
Я разрешаю свою проблему, делая это в Windows 10.
- Выполнение командной строки RabbitMQ (sbin dir) в качестве администратора.
- Выполнить "rabbitmq-service remove" в (Командная строка RabbitMQ).
- Выполнить% AppData% в диалоговом окне "Запуск Windows".
- Удалить все файлы в папке RabbitMQ.
- Выполнить "rabbitmq-service install" в (Командная строка RabbitMQ).
- Выполнить "rabbitmqctl start_app" в (Командная строка RabbitMQ).
Ответ 8
Просто выполните следующие действия:
- Удалите rabbitmq и erlang.
- удалите папку rabbitmq, существующую в ваших appdata (если вы не
узнайте местоположение appdata, просто введите echo% AppData% в команде
подскажите)
- Затем установите сначала erlang, а затем rabbitmq.
-
После установки включите плагин управления, используя следующую команду:
rabbitmq-plugins enable rabbitmq_management
Ответ 9
Вот как я разрешил ошибку в моей системе Windows 8:
Проверьте наличие синтаксической ошибки в файле rabbitmq.config
, размещенном в папке AppData для Windows.
Как проверить, есть ли синтаксическая ошибка?
Вы можете запустить rabbitmq-server restart
из папки sbin в:
Program Files/RabbitMQ/rabbitmq_server_x.x/sbin/
.
Замените содержимое rabbitmq.config
на rabbitmq.config.example
.
Вы можете найти файл rabbitmq.config.example в:
Program Files/RabbitMQ/rabbitmq_server_x.x/etc/
Предупреждение, вы потеряете конфигурацию, которую вы сохранили ранее с помощью rabbitmq.
После изменения файлов просто нажмите
перезапуск rabbitmq-server
в папке sbin, упомянутой выше.