我尝试在Ubuntu-server 12.04上安装rabbitmq-server ,但是失败了。
然后我按照http://www.rabbitmq.com/install-debian.html中的指南添加apt源列表
但重新安装仍然有如下错误:
$ 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了一段时间,但没有任何用处。
在互联网上的一个解决scheme是确保主机名pingable,但我的/etc/hosts已经在这条线上:
127.0.0.1 localhost myserver
任何有关如何起床rabbitmq-server的build议?
我在安装rabbitmq-server时遇到了这个问题,而我正在安装厨师。 为我解决这个问题的解决办法如下。
$ sudo vim /etc/hosts
然后添加
$ 127.0.0.1 <hostname>
这里是你的主机名,如果不确定主机名,那么运行下面的命令:
$ hostname
结果是你的主机名。 只需将其添加到/ etc / hosts中,然后运行:
$ sudo service rabbitmq-server start
它开始了。 这对我有效。 感谢您的时间阅读。
您的防火墙/端口可能会阻塞,无法启动!
默认情况下,应该启用5672(rabbitmq端口)和4365(empd端口)
然后重新启动它应该工作。
首先,在shell上检查erl -sname foo 。 如果你得到相同的错误,这可能是一个ubuntu erlang包的问题。
所以我刚刚安装了最新的erlang包 ,这对我有用 。
这是与/etc/host文件有关的问题。 这个文件没有正确configuration。
只要打开文件:
$ sudo -s $ vim /etc/hosts
检查此文件中以“127.0.0.1”开头的行(通常位于文件的顶部)。
然后让它看起来像这样:
127.0.0.1 your host name
然后保存并退出。 现在重新启动rabbitmq-server并确认它可以正常工作。
我也有类似的错误(我没有日志,因为我重新启动rabbitmq-server devstack)我的/ etc / hosts文件configuration的很好。
当rabbitmq_server失败时,会在erl_crash.dump中logging某些信息。 在文件中,我可以看到端口5672(服务器部署的地方)不是免费的。 从netstat -vtanp | grep 5672可见相同的端口被beam.smp使用。 我停止了进程,并重新启动rabbitmq-server,它工作。
在我的情况下,问题是我的防火墙阻止所有本地连接。
我设置了传入数据包的iptables策略为DROP。 但是,我需要添加一个特定的规则来允许来自本地主机的数据包。
只要确定,看看你的本地networking
ip add
如果没有“lo”networking,你应该启用它:
ifconfig lo up
然后重新启动服务器,让我们看看现在是否再次运行
systemctl start rabbitmq-server