我有一个双节点RabbitMQ 3.6.1群集(在AWS的CentOS 6.8上),似乎每隔30分钟重新启动一次。 我只是通过两台机器上的日志( /var/log/rabbitmq/rabbit@<hostname>.log )来获取所发生的事件的时间表。 我把它们重新安排在这个列表中:
Stopping RabbitMQ – > Stopped RabbitMQ application Statistics database started Keep [email protected] listeners: the node is already back Stopping RabbitMQ – > Stopped RabbitMQ application Statistics database started Keep [email protected] listeners: the node is already back 那么直到19:52:11 UTC才会有更多的日志条目,整个过程重复。 当单个服务器重置时,与该服务器的任何连接都将closures。
我有端口5672负载均衡两台服务器之间,实际上可以看到它的运行状况检查将两个服务器从负载平衡器池中,所以没有客户端可以连接。 很明显,这会导致我的问题。
有没有人知道为什么这两个节点会每隔30分钟一个接一个地重新启动? 这些都是非常普通的vanillia RabbitMQ安装,自动使用SaltStack来停止应用程序,与其他主机名集群,然后启动应用程序。
我想出了这个问题的答案。 这是由我的盐国configuration造成的。 当我第一次设置系统时,我遵循RabbitMQ 集群指南到T,这样我设置了Salt状态来停止应用程序,与所有RabbitMQ节点集群,然后重新启动应用程序。 它做到了这一点,无论是否有新的节点集群。
事实certificate,这是重新启动,因为我已经设置了我的最高时间表 ,每隔30分钟在这些系统上运行高速caching。 所以这是停止和启动RabbitMQ应用程序! 我通过testingrabbitmq_cluster.joined状态了解到,它将首先检查群集状态,然后仅当需要将host添加到群集时停止/连接/启动。
谜团已揭开!