2015-04-07 8 views
3

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

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

Ошибка:

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

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

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

Update:

Я просто пытался проверить версию RabbitMQ и его дающую ошибку тоже ...

[[email protected] ~]# rabbitmqctl status 
Status of node ra[email protected] ... 
Error: unable to connect to node [email protected]: nodedown 

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

attempted to contact: [[email protected]] 

[email protected]: 
    * 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: [email protected] 
- home dir: /var/lib/rabbitmq 
- cookie hash: WXaeZT7XXm13naagfRX5cg== 

[[email protected] ~]# 

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

Erlang версия:

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

RabbitMQ Версия:

[[email protected] rabbitmq]# python26 /usr/local/bin/rabbitmqadmin --version 
rabbitmqadmin 3.3.5 
[[email protected] rabbitmq]# 

ответ

5

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

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

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

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

Решение 1:

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

Решение 2:

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

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

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

UPDATE:

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

+1

Мое имя хост controller1, и в '/ вар/Библиотеки/RabbitMQ/Mnesia /' все 'controller1', значит, вы не отвечаете моему статусу? – aircraft

0

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

  • Узнайте HOME для пользователя RabbitMQ:

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

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

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

Ссылки: