环境信息
- EMQX 版本:4.4.7
- 操作系统及版本:Centos7
问题描述
我的集群有两个节点,集群配置相关信息如下:
cluster.discovery = static
cluster.static.seeds=emqx@a.private.com,emqx@b.private.com
rpc.port_discovery = stateless
节点stop顺序如下:
集群启动成功之后,我先手动停掉 emqx@a.private.com
,再手动停掉 emqx@b.private.com
启动顺序1:
先启动 emqx@a.private.com
,再启动 emqx@b.private.com
。
启动 a
节点时,会收到如下warning,此时集群不工作;启动 b
节点之后warning停止,集群恢复正常。
[warning] ekka_mnesia: still waiting for table(s): [emqx_resource,mqtt_app,emqx_rule,emqx_banned,mqtt_admin]
[warning] Check down_nodes should get [] but got ['emqx@b.private.com'], Table emqx_resource is waiting for one of the nodes: ['emqx@b.private.com'] , Table mqtt_app is waiting for one of the nodes: ['emqx@b.private.com'] , Table emqx_rule is waiting for one of the nodes: ['emqx@b.private.com'] , Table emqx_banned is waiting for one of the nodes: ['emqx@b.private.com'] , Table mqtt_admin is waiting for one of the nodes: ['emqx@b.private.com']
启动顺序2:
先启动 emqx@b.private.com
,再启动 emqx@a.private.com
。
启动b
节点时,收到如下warning,此时单独一个b
节点情况下,集群也可以正常工作;启动a节点之后,warning停止。
[warning] Ekka(AutoCluster): discovered nodes outside cluster: ['emqx@a.private.com']
[warning] Ekka(AutoCluster): discovery did not succeed; retrying in 5000 ms
我是想了解一下,为什么先启动最后停掉的节点时,单个节点可以正常工作;先启动最先停掉的节点时就不行呢?这个启停的过程中发生了些什么呢?
谢谢~~