集群情况下,节点A主题监控500错误,节点B主题监控正常

环境

  • EMQX 版本:5.3.0
  • 操作系统版本:CentOS7

重现此问题的步骤

  1. 搭建2节点的集群,static模式

  2. 打开第一个节点的 主题监控,页面初始化时就显示500

  3. 打开第二个节点的 主题监控,页面正常

  4. 查看日志显示第二个节点网络不通

  5. 实际上我的两个节点内网是互通的,要求打开的端口均已开放打开

################################################################

前置特殊操作:

1、起初现在A机器上搭建了5.2版本的EMQ 搭建好后,准备给B机器上也搭建一个,此时发现EMQ版本更新到5.3了,于是在B机器上搭建了5.3版本的EMQ.

2、两台搭建完后,用Nginx做了负载均衡,一切完毕后,登录A节点的DashBoard, 确实看到看两个节点的信息数据。

3、此时发现页面底部有提示:两节点EMQ的版本不一致,于是按照如下方式将A节点的EMQ重新安装了一遍,检查看A节点的配置文件没有问题,然后重启了下。

4、重启后重新进入A节点的控制台,发现提示确实没有了,至此,两节点的EQM版本保持了一致。

5、但当点击A节点的主题监控时,出现了500错误。B节点主题监控正常。

需要打包收集下 A 节点上访问 “主题监控” 出现 500 时 API 返回的信息以及当时的日志具体内容。

日志我看的是这个 /var/log/message 打印前特意留了空白,访问主题监控后,就出现了如上图所见的日志内容

  • 在两个节点容器内分别都执行 ./bin/emqx_ctl cluster status 看下集群状态
  • 两台机器上执行 netstat -npt | grep 5370 看一下有没有已经连上的

以下是分别在两台节点上执行的命令结果

A节点:

B节点:

  • 内网防火墙有没有对 tcp 连接数进行限制?
  • ehostunreah 也可能由内网路错误引起,请检查并确保内网路由(不影响 ping)
  • 尝试更改 rpc 配置 中的 rpc.tcp_client_num 配置项为 2 或 4

已解决,感谢协助。原因是:第二个节点防火墙规则中没有开放5370端口 :rofl: