我用Google搜索了这么多,没有得到任何正确答案。所以,我发布这个问题是为了获得更好的结果。
我已经杀死了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
答案 0 :(得分:13)
这对我有所帮助:
chmod 600 ~/.erlang.cookie
rabbitmqctl start_app
答案 1 :(得分:3)
只有在致电rabbitmqctl start_app
后才能使用rabbitmqctl stop_app
。这些命令启动/停止RabbitMQ应用程序,而不是Erlang节点。如果您真的杀死了RabbitMQ节点,则需要调用rabbitmq-server
来启动RabbitMQ。检查运行的RabbitMQ节点是否可以调用ps -ef | grep rabbit
。
同样从您的日志中我发现错误的原因是不合适的.erlnag.cookie文件访问模式 - {error_info,{exit,{“Cookie文件/ngs/app/curot/.erlang.cookie必须是可访问的仅由所有者“....尝试更改它chmod 600 /ngs/app/curot/.erlang.cookie
并再次启动RabbitMQ服务器。
不需要杀死Erlang epmd,因为它是一个守护程序,在所有涉及分布式Erlang计算的主机上充当名称服务器,并且不会干扰您的RabbitMQ实例。
答案 2 :(得分:1)
我已经解决了这个问题。
第一步是我已将权限更改为/ngs/app/curot/.erlang.cookie
。
第二步我使用rabbitmq-server -detached
命令启动rabbitmq。
现在它为我工作。