Невозможно запустить rabbitmq-сервер на Ubuntu 12.04


8

Я пытаюсь установить rabbitmq-serverна Ubuntu-сервере 12.04, но не удалось.

Затем я добавляю список источников apt, следуя руководству в http://www.rabbitmq.com/install-debian.html.

Но переустановка все еще имеет ту же ошибку, как показано ниже:

$ sudo aptitude install rabbitmq-server
...
Setting up rabbitmq-server (2.8.7-1) ...
 * Starting message broker rabbitmq-server
 * FAILED - check /var/log/rabbitmq/startup_\{log, _err\}
   ...fail!
invoke-rc.d: initscript rabbitmq-server, action "start" failed.
dpkg: error processing rabbitmq-server (--configure):
 subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 rabbitmq-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
Setting up rabbitmq-server (2.8.7-1) ...
 * Starting message broker rabbitmq-server
 * FAILED - check /var/log/rabbitmq/startup_\{log, _err\}
   ...fail!
invoke-rc.d: initscript rabbitmq-server, action "start" failed.
dpkg: error processing rabbitmq-server (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 rabbitmq-server

И журнал ошибок, похоже, ничего полезного не показывает:

# startup_err shows this
Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})

# startup_log shows this
{error_logger,{{2012,10,10},{22,31,54}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,epmd_close}},[{inet_tcp_dist,listen,1},{net_kernel,start_protos,4},{net_kernel,start_protos,3},{net_kernel,init_node,2},{net_kernel,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}]}
{error_logger,{{2012,10,10},{22,31,54}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.20.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[#Port<0.90>,<0.17.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,24},{reductions,511}],[]]}
{error_logger,{{2012,10,10},{22,31,54}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[[rabbitmqprelaunch18417,shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2012,10,10},{22,31,54}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2012,10,10},{22,31,54}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"}

Я гуглил некоторое время, но ничего полезного не получил.

Одно из решений в Интернете - убедиться, что имя хоста проверяется, но у меня /etc/hostsуже есть эта строка сверху:

127.0.0.1    localhost    myserver

Любое предложение о том, как встать Rabbitmq-сервер?


ps -ef | grep [r]abbit?
Quanta

Ответы:


10

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

    $ sudo vim /etc/hosts

Затем добавьте

    $ 127.0.0.1 <hostname>

Вот ваше имя хоста, если вы не уверены в имени хоста, выполните следующую команду:

    $ hostname

Результатом является ваше имя хоста. Просто добавьте это в ваш / etc / hosts и затем запустите:

    $ sudo service rabbitmq-server start

И это было начато. Это сработало для меня. Спасибо за ваше время, чтобы прочитать. :)


1

Ваш брандмауэр / порт может быть заблокирован, чтобы он не мог запуститься!

По умолчанию вы должны включить 5672 (порт Rabbit MQ) и 4365 (порт EmpD)

Затем перезапустите его снова, он должен работать.


Спасибо, мой UFW блокировал эти порты. Ваш комментарий исправил проблему для меня.
Бартош Эрнас


0

Это проблема, связанная с /etc/hostфайлом. Этот файл не настроен должным образом.

Просто откройте файл:

$ sudo -s
$ vim /etc/hosts

Проверьте строки, которые начинаются с «127.0.0.1» в этом файле (обычно он расположен в верхней части файла).

Затем сделайте так, чтобы это выглядело так:

127.0.0.1  your host name

Затем сохраните и выйдите. Теперь перезапустите rabbitmq-serverи подтвердите, что это работает.


Вопрос уже гласит, что это /etc/hostsбыло исключено.
Эндрю Б

На самом деле работает. Хотя плохо сформулировано
rdsoze

0

Я также получил похожую ошибку. (У меня нет журналов, так как я перезапустил rabbitmq-сервер для devstack) Мой файл / etc / hosts был хорошо настроен.

Когда rabbitmq_server не удается, он записывает определенную информацию в erl_crash.dump. В файле я мог видеть, что порт 5672 (где развернут сервер) не свободен. То же самое было видно из netstat -vtanp | grep 5672 Порт использовался beam.smp. Я остановил процесс и перезапустил rabbitmq-сервер, и он заработал.


0

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

Я установил политику iptables для входящих пакетов в DROP. Тем не менее, мне нужно было добавить определенное правило, чтобы разрешить пакеты, поступающие от localhost.


0

Просто для уверенности, взгляните на вашу локальную сеть

ip add

Если нет "lo" сети, вы должны включить ее:

ifconfig lo up

Затем перезапустите сервер еще раз и посмотрим, будет ли он снова работать сейчас

systemctl start rabbitmq-server
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.