rabbtimqadmin - Не удалось подключиться: [Errno -2] Имя или служба не известны

У меня установлен RabbitMQ на сервере CentOS 5.x, который я использую для передачи сообщений между моими программами. Я установил rabbitmqadmin следуйте инструкциям на https://www.rabbitmq.com/management-cli.html и уже использовали его на своих серверах.

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

Ошибка:

[root@server ~]# python26 /usr/local/bin/rabbitmqadmin list nodes
*** Could not connect: [Errno -2] Name or service not known
[root@server ~]# 

Я пробовал несколько разных rabbitmqadmin команды и они дают одинаковый результат. Если я запускаю команду без лишних параметров, она отображает обычный диалог справки. У меня есть эта настройка и работает на нескольких других серверах.

Любая идея о том, что корень проблемы? Если нет, в любом случае, чтобы получить более подробную информацию, например, подробный?

Обновить:

Я просто попытался проверить версию rabbitmq и тоже выдал ошибку:

[root@server ~]# rabbitmqctl status
Status of node rabbit@server ...
Error: unable to connect to node rabbit@server: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@server]

rabbit@server:
  * connected to epmd (port 4369) on server
  * epmd reports node 'rabbit' running on port 25672
  * TCP connection succeeded but Erlang distribution failed
  * suggestion: hostname mismatch?
  * suggestion: is the cookie set correctly?

current node details:
- node name: rabbitmqctl25451@server
- home dir: /var/lib/rabbitmq
- cookie hash: WXaeZT7XXm13naagfRX5cg==

[root@server ~]# 

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

Erlang версия:

[root@server rabbitmq]#  erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().'  -noshell
"R14B04"
[root@server rabbitmq]# 

Версия Rabbitmq:

[root@server rabbitmq]# python26 /usr/local/bin/rabbitmqadmin --version
rabbitmqadmin 3.3.5
[root@server rabbitmq]# 

2 ответа

Решение

После долгих копаний и разочарований я нашел свою проблему... Я выкладываю решение на случай, если у кого-то еще есть подобный опыт

Ранее я обнаружил, что если вы устанавливаете RabbitMQ на сервере Linux, то измените имя хоста, чтобы оно могло нарушить некоторые настройки кролика.

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

Я решил это одним из двух способов:

Решение 1:

Вернуть имя хоста обратно к предыдущему имени. Так что ссылки rabbitmq с добавленным именем сервера снова работают.

Решение 2:

Если вы хотите сохранить изменение имени сервера, вы можете создать rabbitmq-env.conf файлы в /etc/rabbitmq лайк:

NODENAME=rabbit@OLDHOSTNAME

Если вы не уверены, какое у вас было предыдущее имя, вы можете сослаться на него, выполнив ls в вашем /var/lib/rabbitmq/mnesia/ папка. Затем вы увидите папку, которая соответствует имени узла, которое вам нужно указать.

Ссылка: https://www.rabbitmq.com/man/rabbitmq-env.conf.5.man.html

ОБНОВИТЬ:

Имя хоста - CaSE SeNSiTIve... кто-то менял имя хоста, и единственное отличие было в случае... так что потребовалось время, чтобы заметить...

Вчера я потерял несколько часов с этой же проблемой, и она была в новой установке, поэтому проблема заключалась в том, что файл cookie erlang от моего пользователя и пользователя root отличался от cookie от пользователя rabbitmq.

  • Узнайте ДОМОЙ для пользователя rabbitmq:

    # cat /etc/passwd | grep rabbitmq
    
  • Проверьте, отличаются ли куки друг от друга:

    # vimdiff /var/lib/rabbitmq/.erlang.cookie ~/.erlang.cookie
    
  • Если они отличаются, скопируйте cookie из rabbitmq для пользователя, которому вы хотите иметь доступ к серверу:

    # cp /var/lib/rabbitmq/.erlang.cookie ~/.erlang.cookie
    

Рекомендации:

Другие вопросы по тегам