emqx日志出现more_than_one_channel_found

环境信息

  • EMQX 版本: 4.4.5
  • 操作系统及版本:Centos7.1
  • 其他

问题描述

mqtt收发数据一段时间,会自动断开连接
emqx日志出现more_than_one_channel_found

配置文件及日志

这个日志的的原因,应该是反复重链导致 这个客户端在 emqx 注册了多个 channel。

  1. 看起来只有这个客户端会出现这个 more_than_one_channel_found 的错误?
  2. 方便发下你的emqx 配置么
  3. 方便的话提供下能稳定复现的逻辑

遇到相同的问题:
报错日志如下:
2025-03-28T09:00:18.492646+08:00 [warning] clientid: TY-SL-SERVER_10.195.156.203, msg: more_than_one_channel_found, peername: 172.26.246.227:3410, username: TY-SL-SERVER_10.195.156.203, chan_pids: [<0.575785.0>,<0.575792.0>]
2025-03-28T09:01:52.966214+08:00 [critical] msg: cannot_accept_more_connections, cause: EMFILE (Too many open files), listener: 0.0.0.0:18883
然后EMQX服务出现宕机。

设备连接逻辑:mqtt连接失败,会尝试重新连接,连接信息如clientId保持一致

请问是什么原因导致上述问题

你这个和这个帖子的完全不一样。你的只是文件描述符超了。emqx想开socket, 操作系统不让。你得按系统调优调一下:

里面有关于fs.file-max和 ulimited 的部分。