我用自制软件安装了rabbitmq。我正在尝试启动rabbitmq服务器,但我总是得到这个错误,我无法弄清楚为什么!
我安装了erlang,并且没有其他应用程序在同一个端口上运行。
$ rabbitmq-server {error_logger,{{2013,2,11},{22,37,49}},"Can't set short node name!\nPlease check your configuration\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,worker}]}]} {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,[]]}}},{type,permanent}]} {"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"} Crash dump was written to: erl_crash.dump Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})
btw,erl -sname abc
提供相同的输出
更新:
这就是我在/etc/hosts
127.0.0.1 localhost 255.255.255.255 broadcasthost
答案 0 :(得分:2)
我在Google上查找了类似的错误,如果您的/etc/hosts
文件格式错误,可能会发生这种情况。尝试修复它,看看是否有帮助。
参考文献:
编辑:为了完整性,似乎设置一个长名称(abc@abc
形式)。
答案 1 :(得分:2)
在/ etc / hosts中检查您的计算机名称和短主机名或别名,匹配此
[wendy@nyc123]$
nyc123是您的计算机名称
检查您的短主机名
[wendy @ nyc123] $ hostname -s
[wendy @ nyc123] $ nyc456
由于您的计算机名称和主机名称不匹配,可能会发生此错误。要匹配此项,您可以更改计算机主机名或别名。
更改计算机主机名
[wendy @ nyc123] $ hostname nyc456
关闭终端并再次打开[wendy @ nyc456] $
计算机名称已更改
或
更改/ etc / hosts中的别名
127.0.0.1 nyc123.com nyc123
保存并再次检查
[wendy @ nyc123] $ hostname -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>
答案 2 :(得分:0)
在这里找到答案: control rabbitmq 'name' not 'sname'
将您的机器名称设置为简单的名称,并使其成为locahost的别名
答案 3 :(得分:0)
昨天我也遇到了这个问题并找到了根本原因: 我已将系统的主机名更改为“long”名称pm3(hc desktop)。
如果服务器的主机名很长或无效,Linux仍可以正常工作,并且不会向您提示错误消息。您只需修改/ etc / hostname文件并重新启动即可。但是,rabbitmq服务器可能无法正常工作并向您发送此“短名称”错误消息。
我将主机名更改回“pm3”,重新启动,一切顺利。
答案 4 :(得分:0)
我解决了这个问题,更改了计算机名称(在Windows 8.1上)。问题是这个名字有一个奇怪的字符(é)西班牙字母。我的电脑名称是Andrés,我把它改成了Andres,重新启动了电脑,一切运行良好。我认为兔子无法识别那个奇怪角色的名字(安德烈斯)。
答案 5 :(得分:0)
删除旧样式的配置文件/etc/rabbitmq/rabbitmq.config
并使用rabbitmq.conf
与listeners.tcp.default = 5672
之后,再次重新启动rabbitmq服务器
就我而言,这在ec2实例中解决了问题