emqx集群环境运行时程序意外退出

错误报告

环境信息

  • EMQX 版本:4.4.9 (3个节点的集群,使用 tgz 压缩包安装)
  • 操作系统及版本:ubuntu 20.04
  • 节点配置: 4C8G 云服务器

问题描述

运行了大约一个月后,程序突然自动退出一次,想知道是什么原因导致的程序意外退出。(这里三个节点全部都自动退出了,手动重新启动后程序开始正常工作)

配置文件及日志

配置了redis认证插件,除此之外没有开启其他插件
开启的模块: emqx_mod_topic_metrics emqx_mod_subscription emqx_mod_trace emqx_mod_acl_internal emqx_mod_presence emqx_mod_slow_subs

复现步骤

出现停止之前没有做其他操作(修改程序配置、重载、修改服务器配置等),程序已经运行了大概一个多月。

预期行为

实际行为


其他

日志文件:
log.tar.gz (279.2 KB)

你好,我们分析了你提供的日志,里面的错误绝大部分应该是由于网络故障导致节点之间无法通信导致的。但是节点为何退出我们没有日志中看到任何相关的可能原因。

你可以看一下在 log 目录下是否还有一个 crashdump 文件,如果没有的话那么有可能 EMQX 是因为 OOM 被操作系统 Kill 了,可以在系统日志中查找一下相关的 Kill 记录。

我看了服务器dmesg的日志,三台服务器都是在那个时候OOM被系统kill了。没有crashdump文件。

但是奇怪的是,我看那个时候内存占用都正常。这三台服务器平时内存占用都维持在30%以下,所以之前完全没往内存方面方面想。我这边再继续看看。谢谢

根据日志分析的话可能是因为网络故障导致节点间无法通信,进而导致消息无法正常派发而堆积,时间一长堆积的消息数量就比较客观了,最终导致 EMQX 的内存占用一直增长到被系统 Kill。