我是Erlang和RabbitMQ的新手。
我在CentOS上的RabbitMQ上有一个节点,我必须重置它才能重启消息队列。自重启以来,Erlang拒绝启动节点。有一个erlang_vm损坏的错误,修复了兔子删除并重新启动。我在erlang shell中尝试过net_kerlnel,但是失败了。
[root@directadmin ~]# erl
Erlang R16B03 (erts-5.10.4) [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.4 (abort with ^G)
1> node().
nonode@nohost
2> net_kernel:start([rabbit, shortnames]).
{error,
{{shutdown,
{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}},
{child,undefined,net_sup_dynamic,
{erl_distribution,start_link,[[rabbit,shortnames]]},
permanent,1000,supervisor,
[erl_distribution]}}}
3>
=INFO REPORT==== 26-Jan-2017::18:58:36 ===
Protocol: "inet_tcp": the name rabbit@directadmin seems to be in use by another Erlang node
我注意到其他人有类似的问题,他们引用iptables中的修复规则集解决了他们的问题。我不确定如何做到这一点。我已经尝试了service iptables restart
,但这没有任何区别
http://erlang.org/pipermail/erlang-questions/2015-October/086270.html
当我尝试运行rabbitmqctl stop_app
时,我收到此错误
[root@directadmin ~]# rabbitmqctl stop_app
Stopping node rabbit@directadmin ...
Error: erlang_vm_restart_needed
当我尝试跑步时,兔子停止'我收到了vm损坏的错误
[root@directadmin ~]# rabbitmqctl stop
Stopping and halting node rabbit@directadmin ...
Error: {badarg,[{io,format,
[standard_error,
"Erlang VM I/O system is damaged, restart needed~n",[]],
[]},
{rabbit_log,handle_damaged_io_system,0,
[{file,"src/rabbit_log.erl"},{line,110}]},
{rabbit_log,with_local_io,1,
[{file,"src/rabbit_log.erl"},{line,95}]},
{rabbit,'-stop_and_halt/0-after$^0/0-0-',0,
[{file,"src/rabbit.erl"},{line,434}]},
{rabbit,stop_and_halt,0,[{file,"src/rabbit.erl"},{line,431}]},
{rpc,'-handle_call_call/6-fun-0-',5,
[{file,"rpc.erl"},{line,187}]}]}
答案 0 :(得分:0)
您需要rabbitmqctl stop
,而不仅仅是rabbitmqctl stop_app
。
根据the documentation,stop_app
"停止RabbitMQ应用程序,让Erlang节点运行",而stop
"停止Erlang节点RabbitMQ正在运行"。
答案 1 :(得分:0)
磁盘已满可能是由于错误被写入日志文件。我删除了var/log
中占用空间最多的日志,然后运行yum erase erlang
,然后重新安装了erlang和rabbitmq。这解决了这个问题。谢谢大家的贡献!
答案 2 :(得分:0)
问题来自于 epmd 未启动的事实。 您需要手动启动 epmd 或在启动 erl 时提供节点名称。这并不特定于rabbitmq 发行版。
http://erlang.org/documentation/doc-8.0/erts-8.0/doc/html/epmd.html