【问题标题】:Unable to start RabbitMQ无法启动 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。

标签: rabbitmq erl


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2012-02-17
      • 2013-01-27
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 2016-06-04
      • 2020-02-19
      相关资源
      最近更新 更多