我一次又一次收到此错误。
"operation none caused a connection exception connection_forced: "broker forced connection closure with reason 'shutdown'"
对于上述错误,我已经从此https://bugzilla.redhat.com/show_bug.cgi?id=1343027中找到了一些东西,即如果controller-0重新启动,启动,启动了所有资源,并且只有在一切正常的情况下controller-1才能重新启动,Rabbit才能加入Rabbitmq集群。换句话说,重新启动其中一个控制器时,一切都应正常工作。如果由于某种原因,控制器1重新启动,而控制器0重新启动后未完全恢复,则出问题。
但是我不确定为什么错误日志文件还会向我显示以下错误:
=ERROR REPORT==== 29-Dec-2019::17:44:26 === Mnesia('messaging@rabbit-2'): ** ERROR ** (ignoring core) ** FATAL ** mnesia_monitor crashed: {badarg, [{ets, lookup, [mnesia_decision, 'messaging@rabbit-3'], []}, {mnesia_recover, has_mnesia_down, 1, [{file, "mnesia_recover.erl"}, {line, 299}]}, {mnesia_monitor, check_mnesia_down, 2, [{file, "mnesia_monitor.erl"}, {line, 862}]}, {mnesia_monitor, handle_info, 2, [{file, "mnesia_monitor.erl"}, {line, 579}]}, {gen_server, try_dispatch, 4, [{file, "gen_server.erl"}, {line, 615}]}, {gen_server, handle_msg, 5, [{file, "gen_server.erl"}, {line, 681}]}, {proc_lib, init_p_do_apply, 3, [{file, "proc_lib.erl"}, {line, 240}]}]} state: {state, <0.745.0>, [], [], true, [], undefined, [], []}
[错误消息说,Mnesia DB的一个系统进程,当mnesia_monitor
试图从该DB的另一系统进程mnesia_decision
拥有的ETS表(mnesia_recover
)中查找值时,崩溃。仅当ETS表不再存在,即mnesia_recover
已停止时,才会发生这种情况。
此错误消息没有说明mnesia_recover
为何停止。如果它崩溃了,则日志中应该还有关于该事件的其他错误消息。但是,此时整个Mnesia应用程序也可能已停止,因为主管会在mnesia_recover
之前停止mnesia_monitor
。如果是这种情况,则此错误仅是由于错误的计时导致的:mnesia_monitor
看到messaging@rabbit-3
节点在其节点上的Mnesia已经关闭的时候出现。