集群完整性受到干扰

Cluster integrity has been disturbed

我每周一次在 2 节点集群上的一个节点上收到此错误。 这是我在 AMC 上遇到的错误:

主要错误:

Cluster integrity has been disturbed

每组错误:

Mismatch in replication factor for namespace test as shown by nodes

供参考,这 2 个节点具有 相同的 aerospike.conf 文件,复制因子为 2。 引起我注意的另一件事是,整个集群不可用,而只有一个节点宕机(不可见),所以我在质疑自己 Aerospike 的 HA。

为了解决这个问题,我干脆重启不可见的节点。

On the aerospike documentation 它说:

This can be true if a set of nodes has split from the main cluster. (This is sometimes referred to as a split brain.) Generally, it is easiest to restart the “lost” node(s) to get it/them to rejoin the cluster.

但由于这个问题每周都会出现,我很乐意一劳永逸地解决这个问题:)

我在 Aerospike 工作,经过一些研究 "Mismatch in replication factor for namespace test as shown by nodes" 可能链接到不可见的节点。在复制因子为 2 的 2 节点集群中,当一个节点不可用时,复制因子将降至 1 以保持数据可用性。当节点重新加入集群时,复制因子会在短时间内不匹配,AMC 将重试,您应该不会再看到此错误。

我们需要深入到 node down issue 的底部才能回答你的第二个问题,请参阅我的评论。

一个建议是将 paxos-recovery-policy 设置为 auto-reset-master 并且假设问题的原因是临时网络流量意味着集群可能会失去完整性,集群应该自行重新组合在一起。