2

我一次又一次地收到这个错误。

"operation none caused a connection exception connection_forced: "broker forced connection closure with reason 'shutdown'"

对于上述错误,我已经从这个https://bugzilla.redhat.com/show_bug.cgi?id=1343027中找到了一些东西,即如果控制器 0 重新启动,出现了,启动了所有资源,兔子可以加入 rabbitmq 集群只有当一切正常时,controller-1 才会重新启动。换句话说,当重新启动其中一个控制器时,一切都应该正常工作。如果出于某种原因,控制器 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, [], []}
4

1 回答 1

1

错误消息说,Mnesia DB 的一个系统进程在尝试从DB 的另一个系统进程所拥有mnesia_monitor的 ETS 表 () 中查找值时崩溃。只有当 ETS 表不再存在时才会发生这种情况,也就是说,如果 ETS 表已停止。mnesia_decisionmnesia_recovermnesia_recover

此错误消息没有说明为什么mnesia_recover已停止。如果它已经崩溃,日志中应该有关于该事件的其他错误消息。但也有可能此时整个 Mnesia 应用程序一直在停止,因为 supervisormnesia_recover之前会停止mnesia_monitor。如果是这种情况,则此错误只是由时间错误引起的:mnesia_monitor看到messaging@rabbit-3节点出现在其节点上的 Mnesia 已经关闭时。

于 2020-02-06T21:28:33.093 回答