emqx集群问题

环境

  • EMQX 版本:5.1.0
  • 操作系统版本:centos 7 (阿里云版本的centos 7)

使用DNS 方式进行集群 节点设备均有公网IP.
配置节点名称为emqx@公网IP
rpc没使用ssl方式.
所有节点设备使用同一个阿里云安全组,并且安全组配置允许组内访问4730和5730

重现此问题的步骤

  1. 已有3台服务器(A,B,C),并已经集群成功,消息发布和接收正常.
  2. 现新增一个节点(D).emqx.conf配置与其他服务器节点一致,除了节点名称.
  3. DNS中添加新节点(D)公网IP A记录.
    4.启动节点D
    5.登录节点D的18083 (公网IP:18083)
    6.页面提示输入密码,输入后提示修改密码.
    7.填写新密码后,进入监控页面.点击客户端认证发现内置数据库仍然空白,没有自动创建.
    8.登录其他节点(A,B,C)监控页面发现内置数据库均显示离线.
    9.此时无论是D节点进行新建内置数据库或者是A,B,C节点操作内置数据库删除操作均显示异常.
    10.命令行下线(A,B,C节点),然后进行D节点新建内置数据库操作(仅新建,不做内置数据库中添加用户等操作).
    11.命令行下线D节点.
    12.依次启动A,B,C,D节点,后D节点内置数据库中的用户信息及监听器中的数据正常,集群功能恢复正常.

预期行为

D节点配置完成后,添加过程应该能直接添加成功,如果每个节点入群前都需要新建内置数据库操作亦可以.但是该操作如果忘记操作容易引起严重后果.使用DNS自动集群就是因为它不需要动其他节点的内容.自动操作.

实际行为

集群内置数据库全部离线了.

您好,请收集一下 A B C D 节点上的日志信息以供调查。
此外,不建议使用公网集群。core 节点之间进行集群并稳定运行,需要健壮及低延迟 (10ms) 的网络环境。

2023-06-24T11:42:29.458211+08:00 [error] supervisor: ‘esockd_connection_sup - <0.2351.0>’, errorContext: connection_shutdown, reason: {ssl_error,{tls_alert,{unexpected_message,“TLS server: In state hello at tls_record.erl:564 generated SERVER ALERT: Fatal - Unexpected Message\n {unsupported_record_type,67}”}}}, offender: [{pid,<0.2744.0>},{name,connection},{mfargs,{emqx_connection,start_link,[#{enable_authn => true,limiter => undefined,listener => {ssl,default},zone => default}]}}]
2023-06-24T11:42:29.548762+08:00 [error] supervisor: ‘esockd_connection_sup - <0.2351.0>’, errorContext: connection_shutdown, reason: {ssl_error,{tls_alert,{unexpected_message,“TLS server: In state hello at tls_record.erl:564 generated SERVER ALERT: Fatal - Unexpected Message\n {unsupported_record_type,67}”}}}, offender: [{pid,<0.2750.0>},{name,connection},{mfargs,{emqx_connection,start_link,[#{enable_authn => true,limiter => undefined,listener => {ssl,default},zone => default}]}}]
2023-06-24T11:42:29.690494+08:00 [error] message=channel_closed driver=tcp socket=“#Port<0.19>” action=stopping
2023-06-24T11:42:57.124246+08:00 [error] message=channel_closed driver=tcp socket=“#Port<0.17>” action=stopping
2023-06-24T11:43:27.136958+08:00 [error] message=channel_closed driver=tcp socket=“#Port<0.18>” action=stopping
2023-06-24T12:07:54.751623+08:00 [error] supervisor: ‘esockd_connection_sup - <0.2351.0>’, errorContext: connection_shutdown, reason: {ssl_error,{tls_alert,{unexpected_message,“TLS server: In state hello at tls_record.erl:564 generated SERVER ALERT: Fatal - Unexpected Message\n {unsupported_record_type,67}”}}}, offender: [{pid,<0.4957.0>},{name,connection},{mfargs,{emqx_connection,start_link,[#{enable_authn => true,limiter => undefined,listener => {ssl,default},zone => default}]}}]
2023-06-24T12:07:54.836473+08:00 [error] supervisor: ‘esockd_connection_sup - <0.2351.0>’, errorContext: connection_shutdown, reason: {ssl_error,{tls_alert,{unexpected_message,“TLS server: In state hello at tls_record.erl:564 generated SERVER ALERT: Fatal - Unexpected Message\n {unsupported_record_type,67}”}}}, offender: [{pid,<0.4962.0>},{name,connection},{mfargs,{emqx_connection,start_link,[#{enable_authn => true,limiter => undefined,listener => {ssl,default},zone => default}]}}]

节点间网络ping包
64 bytes from 8...***: icmp_seq=4 ttl=63 time=0.273 ms

这些日志是客户端使用 ssl 连接握手失败的日志。
如果可能,请将日志目录打包私信发送,后续将会有工程师继续跟踪问题。
这是相关文档: 文件和目录

没问题,可以私信发这些日志,请提供私信方式,问题发生日期在2023-06-24T11:42:29左右

可以发送到我的邮箱 heeejianbo@gmail.com