无法启动rabbitmq-server

Posted

技术标签:

【中文标题】无法启动rabbitmq-server【英文标题】:unable to start rabbitmq-server 【发布时间】:2013-01-27 02:49:10 【问题描述】:

我使用自制软件安装了 rabbitmq。我正在尝试启动 rabbitmq 服务器,但我总是收到这个错误,我无法弄清楚为什么!

我已经安装了 erlang,并且没有其他应用程序在同一个端口上运行。

$rabbitmq 服务器 error_logger,2013,2,11,22,37,49,"无法设置短节点名!\n请检查您的配置\n",[] error_logger,2013,2,11,22,37,49,crash_report,[[initial_call,net_kernel,init,['Argument__1'],pid,,registered_name,[ ],error_info,exit,error,badarg,[gen_server,init_it,6,[file,"gen_server.erl",line,320],proc_lib,init_p_do_apply,3,[ file,"proc_lib.erl",line,227]],ancestors,[net_sup,kernel_sup,],messages,[],links,[],dictionary,[ longnames,false],trap_exit,true,status,running,heap_size,610,stack_size,24,reductions,249],[]] error_logger,2013,2,11,22,37,49,supervisor_report,[supervisor,local,net_sup,errorContext,start_error,reason,'EXIT',nodistribution ,offender,[pid,undefined,name,net_kernel,mfargs,net_kernel,start_link,[[rabbitmqprelaunch1593,shortnames]],restart_type,permanent,shutdown,2000,child_type ,工人]] error_logger,2013,2,11,22,37,49,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,2013,2,11,22,37,49,std_info,[application,kernel,exited,shutdown,kernel,start,[normal,[]] ,类型,永久] "内核 pid 终止",application_controller,"application_start_failure,kernel,shutdown,kernel,start,[normal,[]]" 崩溃转储被写入:erl_crash.dump 内核 pid 终止 (application_controller) (application_start_failure,kernel,shutdown,kernel,start,[normal,[]])

顺便说一句,erl -sname abc 给出相同的输出

更新

这就是我在/etc/hosts中的内容

127.0.0.1 本地主机 255.255.255.255 广播主机

【问题讨论】:

使用长名称有用吗? 你的意思是而不是localhost?不! erl -name abc@abc 怎么样? 哈!那行得通!谢谢! 你最终得到这个工作了吗?遇到完全相同的问题并花了过去一个小时寻找它。似乎没有其他人有同样的问题。 【参考方案1】:

我在 google 上查找了类似的错误,如果您的 /etc/hosts 文件格式错误,似乎会发生这种错误。尝试修复它,看看是否有帮助。

参考资料:

http://www.ejabberd.im/node/18 Explanation on RabbitMQ Mailing list

编辑:为了完整起见,设置一个长名称(abc@abc 形式)似乎可行。

【讨论】:

我在 /etc/hosts 中只有 127.0.0.1 localhost 255.255.255.255 广播主机【参考方案2】:

在这里找到答案: control rabbitmq 'name' not 'sname'

将您的机器名称设置为简单的名称并使其成为 locahost 的别名

【讨论】:

【参考方案3】:

我昨天也遇到了这个问题,找到了根本原因: 我已将系统的主机名更改为“长”名称 pm3(hc desktop)。

如果您的服务器主机名过长或无效,Linux 仍然可以工作,并且不会向您提示错误消息。因为您只需修改 /etc/hostname 文件并重新启动。但是,rabbitmq 服务器可能无法工作,并给您这个“短名称”错误消息。

我将主机名改回“pm3”,重新启动,一切顺利。

【讨论】:

【参考方案4】:

检查您的计算机名和 /etc/hosts 中的短主机名或别名,匹配此

检查您的计算机名称[wendy@nyc123]$ nyc123 是您的计算机名称

检查您的短主机名

[wendy@nyc123]$ 主机名-s

[wendy@nyc123]$ nyc456

发生此错误的原因可能是您的计算机名称和短主机名不匹配。为此,您可以更改计算机主机名或别名。

更改计算机主机名

[wendy@nyc123]$ 主机名 nyc456

关闭您的终端并再次打开 [温迪@nyc456]$ 计算机名称已更改

在 /etc/hosts 中更改别名

127.0.0.1 nyc123.com nyc123

保存并再次检查

[wendy@nyc123]$ 主机名-s

[wendy@nyc123]$ nyc123

重启你的rabbitmq!

[root@nyc123]$ rabbitmq-server start</p>


    RabbitMQ 3.6.0. Copyright (C) 2007-2015 Pivotal Software, Inc.</p>
##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/</p>
##  ##</p>
##########  Logs: /var/log/rabbitmq/rabbitmq@nyc123.com.log</p>
######  ##        /var/log/rabbitmq/rabbitmq@nyc123.com-sasl.log</p>
##########</p>
          Starting broker... completed with 6 plugins.</p>

【讨论】:

这是正确答案。由于原始海报是在 OS X 上,/etc/hosts 中需要有一个与 hostname -s 的输出相匹配的 127.0.0.1 条目【参考方案5】:

我解决了这个更改计算机名称的问题(在 Windows 8.1 上)。问题是这个名字有一个奇怪的字符(é)西班牙字母。我的计算机名称是 Andrés,我将其更改为 Andres,重新启动计算机,一切正常。我认为兔子无法识别那个奇怪角色的名字(安德烈斯)。

【讨论】:

【参考方案6】:

删除旧式配置文件 /etc/rabbitmq/rabbitmq.config 并使用 rabbitmq.conf 与listeners.tcp.default = 5672 之后再次重启rabbitmq服务器 就我而言,解决了 ec2 实例中的问题

【讨论】:

以上是关于无法启动rabbitmq-server的主要内容,如果未能解决你的问题,请参考以下文章

启动Mysql服务时无法启动?

关于WINDOWS无法启动

SQL Server(MSSQLSERVER)无法启动怎么解决?

Apache2.2 服务无法启动。

vmware 无法启动导出

无法开始调试。启动项目无法启动