节点断网一段时间后,不重启无法自动加入集群

环境信息

  • EMQ X 版本:4.3.6
  • 操作系统及版本:docker
  • 其他

问题描述

集群部署后,节点网络中断后>5分钟,在集群节点列表中只展示该节点,显示其余节点(正常)stopped

其余节点查看集群状态,该节点stopped,无法自行恢复,需要重启节点

[error] Mnesia('emqx@xxxxx'): ** ERROR ** mnesia_event got {inconsistent_database, starting_partitioned_network, 'emqx@xxxxx'},

配置文件及日志

- EMQX_MANAGEMENT__LISTENER__HTTP=18080
- EMQX_LISTENER__TCP__EXTERNAL=1883
- EMQX_NODE__DIST_LISTEN_MIN=6000
- EMQX_NODE__DIST_LISTEN_MAX=7999
- EMQX_NODE__COOKIE=emqxcookie
- EMQX_CLUSTER__NAME=pnemqx
- EMQX_CLUSTER__AUTOHEAL=on
- EMQX_CLUSTER__AUTOCLEAN=10h
- EMQX_CLUSTER__DISCOVERY=etcd
- EMQX_CLUSTER__ETCD__SERVER=http://192.168.111.132:2379
- EMQX_CLUSTER__ETCD__PREFIX=emqcl3
- EMQX_CLUSTER__ETCD__NODE_TTL=1m

你用的是公网集群吗?

你这个错误是分布性集群系统脑裂的错误LOG,在分布性集群系统中,是通过网络来同步数据,如果网络不稳定会导致集群下的节点数据不一致,就会出现脑裂情况

不是,私网

四个节点分别部署在四台服务器,其中一台或两台断网(如插拔网线)后,重新联网后,断网的这台服务器集群下仅展示自己

如果由于网络不稳定造成脑裂后,除了重启有别的方式能够自动加入集群吗

你可以去官网文档里面查看一下集群脑裂的自愈文档