RabbitMQ имеет ошибку Nodedown


на Windows 7 Enterprise machine я сделал новую установку Erlang 17.4 и RabbitMQ 3.4.3 x64. Установка прошла успешно и без осложнений.

Я еще не пытался создать свою первую очереди или обмен, но я уже вижу проблемы. Эта проблема похожа на еще один такой пост, но этот другой пост, похоже, связан с кластеризацией, которой у меня нет. Кроме того, этот другой плакат может обойти его проблему, перезапустив службу RabbitMQ; что подход не работает для меня.

моя проблема "nodedown" очевидна в командной строке RabbitMQ:

C:Program файлы (x86)RabbitMQ Serverrabbitmq_server-3.4.3sbin>состояние rabbitmqctl Состояние узла rabbit@TPAJ05421843 ...
Ошибка: не удается подключиться к узлу rabbit@TPAJ05421843: nodedown

диагностика

попытка связаться: [rabbit@TPAJ05421843]

кролик@TPAJ05421843:
* подключен к epmd (порт 4369) на TPAJ05421843
* отчеты epmd: узел "кролик" не работает вообще
другие узлы на TPAJ05421843: ['RabbitMQ']
* предложение: запустите узел

текущего узла детали:
- имя узла: 'rabbitmqctl-19884@TPAJ05421843'
- главная реж.: H:
- cookie хэш: PD4QQCYrf0TME9vIko3Xuw==

основываясь на вышеизложенном, я решил проверить состояние узла явно названный в RabbitMQ'. Я получаю это:

C:Program файлы (x86)RabbitMQ Serverrabbitmq_server-3.4.3sbin>rabbitmqctl-N RabbitMQ status
Состояние узла 'RabbitMQ@TPAJ05421843'...
Ошибка: не удается подключиться к узлу 'RabbitMQ@TPAJ05421843': nodedown

диагностика

попытка связаться: ['RabbitMQ@TPAJ05421843']

RabbitMQ@TPAJ05421843:
* подключено к epmd (порт 4369) ВКЛ TPAJ05421843
* epmd сообщает узел 'RabbitMQ' работает на порту 59301
* TCP-соединение успешно, но распределение Erlang не удалось
* предложение: несоответствие имени хоста?
* предложение: правильно ли установлен файл cookie?

текущего узла детали:
- имя узла: 'rabbitmqctl-23076@TPAJ05421843'
- главная реж.: H:
- cookie хэш: PD4QQCYrf0TME9vIko3Xuw==

хорошо, это едва ли лучше, так как по крайней мере он признает 'RabbitMQ' работает на порту 59301. Но что, черт возьми, это может означать, что "Erlang distribution failed"?

когда я пытаюсь исследовать эту тему, я нашел статьи, говорящие: "убедитесь, что у вас есть соответствующие куки.- На основании этого я нашел в этой статье, который утверждает, что" несоответствие файлов cookie " не относится ко мне, потому что я не создал (и не собираюсь создавать) кластер RabbitMQ.

Что делать?

12 52

12 ответов:

У меня была такая же проблема сегодня. Не было никаких проблем с файлами cookie или брандмауэром, и windows сообщила, что служба работает успешно. Это то, что, наконец, исправил его:

  1. Запустите командную строку RabbitMQ sbin от имени администратора.
  2. запустите "rabbitmq-service remove"
  3. запустите "rabbitmq-service install"

по какой-то причине служба, настроенная установщиком, не настроила несколько записей реестра. Запуск этого набора их правильно и позволило запустить службу.

Я заметил, что до того, как я это сделал, в представлении служб Windows не было описания службы. После установки с помощью команды rabbitmq-service, описание было видно. Это может быть быстрый индикатор, если у вас возникли те же проблемы.

как прокомментировал @eddyP, у меня было два разных файла cookie Erlang:

  • A сервер файл cookie, расположенный по адресу $env:WINDIR\system32\config\systemprofile\.erlang.cookie (до Erlang 20.2 он был расположен в $env:WINDIR\.erlang.cookie).
  • A клиент файл cookie, расположенный по адресу $env:USERPROFILE\.erlang.cookie.

копирование файла cookie сервера поверх клиентского, так что оба файла были одинаковыми, Исправлена проблема для меня.

для получения дополнительной информации см. " как узлы (и инструменты CLI) Аутентифицировать друг друга: Эрланг печенье".

из командной строки RabbitMQ sbin (Запуск от имени администратора) выполните следующую команду:

rabbitmq-server restart 

в Windown, по какой-то причине удалить все папки в c:\Users\xxx\AppData\Roaming\RabbitMQ\db\ (xxx ваше имя пользователя) тогда flow @Jerdev ответит и

  • start rabbitmq net start rabbitmq

  • проверьте rabbitmq service rabbitmqctl status

тот же вопрос в списке рассылки RabbitMQ:https://groups.google.com/forum/#! topic/rabbitmq-users/0s1ExFhl4hM.

файл cookie Erlang используется rabbitmqctl а также серверные узлы, поэтому о нем, возможно, потребуется позаботиться (поместить в правильное место). См. раздел "Установка от имени пользователя, не являющегося администратором .Эрланг.печенье в неправильном месте " на Windows quirks.

Если вы пришли сюда в поисках ответа linux для того же сообщения об ошибке, попробуйте

sudo service rabbitmq-server start

(что не является командой блокировки)

Я решаю свою проблему, делая это в Windows 10.

  1. выполнить командную строку RabbitMQ (sbin dir) от имени администратора.
  2. выполните команду "rabbitmq-service remove" в (командной строке RabbitMQ).
  3. выполнить %AppData% в диалоговом окне запуска Windows.
  4. удалить все файлы в папке RabbitMQ.
  5. выполнить "rabbitmq-service install" в (командной строке RabbitMQ).
  6. выполнить "rabbitmqctl start_app" В (команда RabbitMQ Проворный.)

просто сделайте следующее:

  1. удалите rabbitmq и erlang.
  2. удалите папку rabbitmq, существующую в вашем appdata (если вы этого не сделаете знайте расположение appdata, просто введите echo %AppData% в командной подскажите)
  3. затем сначала установите erlang, а затем rabbitmq.
  4. после установки включите плагин управления, используя следующую команду:

    rabbitmq-Плагины включить rabbitmq_management

для меня куки не совпадали, как и другие комментарии, но места были в другом пути для тех, кто имеет ту же проблему, что и я C:\Windows\System32\config\systemprofile

вот как я разрешил ошибку в моей системе Windows 8:

проверьте наличие синтаксической ошибки в rabbitmq.config файл, помещенный в папку AppData для Windows.

Как проверить, есть ли синтаксическая ошибка?

вы можете запустить rabbitmq-server restart из папки sbin в:
Program Files/RabbitMQ/rabbitmq_server_x.x/sbin/.

заменить содержимое элемента rabbitmq.config С rabbitmq.config.example.

вы можете найти кролика.конфиг.пример:

Program Files/RabbitMQ/rabbitmq_server_x.x/etc/

внимание, вы потеряете конфигурация, сохраненная ранее с помощью rabbitmq.

после изменения файлов, просто нажмите

в RabbitMQ-сервер перезапустить

в папке sbin, упомянутой выше.

Это происходит потому, что rabbit MQ не устанавливается правильно на Windows (и эта ошибка вводит в заблуждение!). Поэтому для ее решения сделайте следующее:

  1. введите " cmd "в Cortana search или в" Run " для более старой версии Windows
  2. щелкните правой кнопкой мыши на in и выберите "Запуск от имени администратора"
  3. перейдите в папку sbin кролика (cd "C:\Program файлы\RabbitMQ Server\rabbitmq_server-3.7.4\sbin")
  4. run: rabbitmq-service remove
  5. run: rabbitmq-service install

теперь вы можете запустить 6. rabbitmq-плагины позволяют rabbitmq_management 7. rabbitmq-запуск сервиса 8. и, наконец, run: start http://localhost:15672 9. войдите в систему как пользователь "гость" с паролем: "гость" и все. Счастливого Кролика!

Я пропустил перезапуск своей ОС WINDOWS, а затем удалил старую версию ERLANG (которую я удалил перед перезапуском).

каким-то образом новая установка Rabbit ссылалась на старую (неустановленную версию), и все несоответствие происходило. Ключом к разгадке были "услуги", упомянутые кроликом из старой версии Эрланга.