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
Рекомендации: