无法在 Ubuntu 12.04 上启动 rabbitmq-server

无法在 Ubuntu 12.04 上启动 rabbitmq-server

我尝试rabbitmq-server在 ubuntu-server 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,[]]}}}"}

我已经在 Google 上搜索了一段时间,但没有找到任何有用的东西。

互联网上的一个解决方案是确保主机名可 ping,但我的/etc/hosts上面已经有这一行:

127.0.0.1    localhost    myserver

关于如何启动 rabbitmq-server 有什么建议吗?

答案1

我在安装 chef 时安装 rabbitmq-server 时遇到了这个问题。我的解决方法和解决方案如下。

    $ sudo vim /etc/hosts

然后加

    $ 127.0.0.1 <hostname>

这是您的主机名,如果不确定主机名,请运行以下命令:

    $ hostname

结果就是你的主机名。只需将其添加到你的 /etc/hosts 然后运行:

    $ sudo service rabbitmq-server start

一切开始了。

这对我有用。

答案2

首先,检查erl -sname foo你的 shell。如果你遇到同样的错误,则可能是ubuntu erlang 包

所以我刚刚安装了最新的 Erlang 包这对我有用。

答案3

您的防火墙/端口可能被阻止,因此无法启动!

默认情况下,您应该启用 5672(rabbit mq 端口)和 4365(empd 端口)

然后重新启动它它就应该可以工作了。

答案4

我也遇到了类似的错误。(因为我重新启动了 devstack 的 rabbitmq-server,所以我没有日志)我的 /etc/hosts 文件配置得很好。

当 rabbitmq_server 发生故障时,它会在 erl_crash.dump 中记录某些信息。在文件中,我可以看到端口 5672(部署服务器的位置)不是空闲的。从 netstat -vtanp|grep 5672 可以看到相同的信息。该端口正在被 beam.smp 使用。我停止了该过程并重新启动了 rabbitmq-server,它就正常工作了。

相关内容