无法启动 RabbitMQ
Posted
技术标签:
【中文标题】无法启动 RabbitMQ【英文标题】:Unable to start RabbitMQ 【发布时间】:2013-11-15 01:05:10 【问题描述】:我用谷歌搜索了很多,但没有得到任何正确的答案。所以,我发布这个问题以获得更好的结果。
我已经杀死了RabbitMQ
服务器进程。
现在当我尝试重新启动它时,它会显示
命令
rabbitmqctl start_app
错误
error_logger,2013,11,4,11,26,8,"Cookie file /ngs/app/ttet/.erlang.cookie must be accessible by owner only",[] error_logger,2013,11,4,11,26,8,crash_report,[[initial_call,auth,init,['Argument__1'], pid,<0.18.0>,registered_name,[],error_info,exit,"Cookie file /ngs/app/curot/.erlang.cookie must be accessible by owner only",[auth,init_cookie,0,[file,"auth.erl", line,285],auth,init,1,[file,"auth.erl",line,139],gen_server,init_it,6,[file,"gen_server.erl",line,297],proc_lib,init_p_do_apply,3,[file,"proc_lib.erl", line,227]],[gen_server,init_it,6,[file,"gen_server.erl",line,321],proc_lib,init_p_do_apply,3,[file,"proc_lib.erl",line,227]],ancestors,[net_sup,kernel_sup,<0.9.0>],messages,[],links,[<0.16.0>],dictionary,[],trap_exit,true,status,running,heap_size,610,stack_size,24,reductions,401],[]] error_logger,2013,11,4,11,26,8,supervisor_report,[supervisor,local,net_sup, errorContext,start_error,reason,"Cookie file /ngs/app/ttet/.erlang.cookie must be accessible by owner only",[auth,init_cookie,0,[file,"auth.erl",line,285],auth,init,1,[file,"auth.erl",line,139],gen_server,init_it,6,[file,"gen_server.erl",line,297],proc_lib,init_p_do_apply,3,[file,"proc_lib.erl",line,227]],offender,[pid,undefined,name,auth,mfargs,auth,start_link,[],restart_type,permanent,shutdown,2000,child_type,worker]] error_logger,2013,11,4,11,26,8,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,11,4,11,26,8,std_info,[application,kernel,exited,shutdown,kernel,start,[normal,[]],type,permanent] "Kernel pid terminated",application_controller,"application_start_failure,kernel,shutdown,kernel,start,[normal,[]]"
故障转储已写入:erl_crash.dump
Kernel pid terminated (application_controller) (application_start_failure,kernel,shutdown,kernel,start,[normal,[]])
Erlang
正在运行。是否需要杀死Erlang
进程。
[ttet@addr:17.566.98.656 Erlang]$:/ngs/app/ttet> ps -ef | grep erlang
ttet 13813 10547 0 11:57 pts/0 00:00:00 grep erlang
ttet 32155 1 0 Oct08 ? 00:00:14 /ngs/app/ttet/softwares/Erlang/lib/erlang/erts-5.9/bin/epmd -daemon
【问题讨论】:
没问题@JDeveloper。 【参考方案1】:只有在调用rabbitmqctl stop_app
后才能使用rabbitmqctl start_app
。这些命令启动/停止 RabbitMQ 应用程序,而不是 Erlang 节点。如果你真的杀死了 RabbitMQ 节点,你需要调用rabbitmq-server
来启动 RabbitMQ。检查是否有 RabbitMQ 节点在运行,您可以调用ps -ef | grep rabbit
。
另外从您的日志中我发现错误的原因不适合 .erlnag.cookie 文件访问模式 - error_info,exit,"Cookie 文件 /ngs/app/curot/.erlang.cookie 必须是可访问的by owner only"....尝试更改它chmod 600 /ngs/app/curot/.erlang.cookie
并再次启动RabbitMQ服务器。
不需要杀死 Erlang epmd,因为它是一个守护进程,在参与分布式 Erlang 计算的所有主机上充当名称服务器,并且不会干扰您的 RabbitMQ 实例。
【讨论】:
谢谢@sysoff。但是,我已经解决了这个问题。但是赞成你的回答。【参考方案2】:我已经解决了。
第一步是我已将权限更改为/ngs/app/curot/.erlang.cookie
。
第二步我使用rabbitmq-server -detached
命令启动rabbitmq。
现在它对我有用。
【讨论】:
【参考方案3】:这对我有帮助:
chmod 600 ~/.erlang.cookie
rabbitmqctl start_app
【讨论】:
以上是关于无法启动 RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章