EMQX4.2.9容器无法正常运行,反复自动重启。。

环境信息

  • EMQX 版本:4.2.9
  • 操作系统及版本: docker 容器
  • 其他

问题描述

两台机器,通过容器部署的集群,发布程序使用QOS1 持续发布数据,订阅程序因未知原因,崩溃,导致EMQX 容器无法正常启动,每次启动50秒后,也自动崩溃,并自动重启。日志显示 Dropped msg due to mqueue is full,修改Queue_len不起作用,重启也一样,数据无法清理

 类似问题,如何清理掉队列数据,让程序启动恢复呢?

配置文件及日志

2022-03-07T06:43:49.867213500Z Starting emqx on node emqx02@172.19.101.2
2022-03-07T06:43:49.868541150Z ['2022-03-07T06:43:49Z']:emqx exit abnormally
2022-03-07T06:43:54.228543678Z listener.ssl.external.acceptors=32
2022-03-07T06:43:54.493915212Z listener.ssl.external.max_connections=102400
2022-03-07T06:43:54.762480022Z listener.tcp.external.acceptors=64
2022-03-07T06:43:55.030301976Z listener.tcp.external.max_connections=1024000
2022-03-07T06:43:55.298409494Z listener.wss.external.acceptors=16
2022-03-07T06:43:55.582489176Z listener.wss.external.max_connections=102400
2022-03-07T06:43:55.845777188Z listener.ws.external.acceptors=16
2022-03-07T06:43:56.137374596Z listener.ws.external.max_connections=102400
2022-03-07T06:43:56.934886862Z node.max_ets_tables=2097152
2022-03-07T06:43:57.200534068Z node.max_ports=1048576
2022-03-07T06:43:57.465923448Z node.process_limit=2097152
2022-03-07T06:44:12.395303098Z EMQ X Broker 4.2.9 is started successfully!
2022-03-07T06:44:17.397911933Z ['2022-03-07T06:44:17Z']:emqx start
2022-03-07T06:44:17.403403584Z 2021-09-08 13:30:02.815 [warning] <<"sub_2021-09-07 17:30:00.233">>@172.16.210.251:35082 [Session] Dropped msg due to mqueue is full: Message(Id=^@^EËu,^\ØÌÿû^^^@^OH3h, QoS=1, Topic=easyconnect/up/data_report, From=<<"emqx_test">>, Flags=[], Headers=#{peerhost => {10,10,1,103},
2022-03-07T06:44:17.403436218Z   properties => #{},proto_ver => 4,protocol => mqtt,
2022-03-07T06:44:17.403444804Z   username => <<"easyconnet">>})
2022-03-07T06:44:17.403452020Z 2021-09-08 13:30:02.815 [warning] <<"sub_2021-09-07 17:30:00.233">>@172.16.210.251:35082 [Session] Dropped msg due to mqueue is full: Message(Id=^@^EËu,^\Øòÿû^^^@^OH3i, QoS=1, Topic=easyconnect/up/data_report, From=<<"emqx_test">>, Flags=[], Headers=#{peerhost => {10,10,1,103},
2022-03-07T06:44:17.403460642Z   properties => #{},proto_ver => 4,protocol => mqtt,
2022-03-07T06:44:17.403477425Z   username => <<"easyconnet">>})
2022-03-07T06:44:17.403484946Z 2021-09-08 13:30:02.816 [warning] <<"sub_2021-09-07 17:30:00.233">>@172.16.210.251:35082 [Session] Dropped msg due to mqueue is full: Message(Id=^@^EËu,^\Ù^Xÿû^^^@^OH3j, QoS=1, Topic=easyconnect/up/data_report, From=<<"emqx_test">>, Flags=[], Headers=#{peerhost => {10,10,1,103},
2022-03-07T06:44:17.403492992Z   properties => #{},proto_ver => 4,protocol => mqtt,
2022-03-07T06:44:17.403499149Z   username => <<"easyconnet">>})
2022-03-07T06:44:17.410866685Z 2021-09-08 13:30:02.816 [warning] <<"sub_2021-09-07 17:30:00.233">>@172.16.210.251:35082 [Session] Dropped msg due to mqueue is full: Message(Id=^@^EËu,^\ÙDÿû^^^@^OH3k, QoS=1, Topic=easyconnect/up/data_report, From=<<"emqx_t['2022-03-07T06:44:17Z']:emqx not running, waiting for recovery in 20 seconds

消费端挂掉导致的消息队列满,一般是不会导致 EMQX 挂掉的
可以发一下你的机器配置和容器启动参数吗
另外也可以检查一下 EMQX 的 log