根据 elasticsearch 文档,write_consistency 级别仲裁的规则是:
法定人数(>副本/2+1)
使用 ES 0.19.10,在具有 16 个分片/3 个副本的设置上,我们将获得 16 个主分片 48 个副本
运行 2 个节点,我们将有 16(主)+ 16(副本)= 32 个活动分片。
要满足仲裁规则,仲裁 > 48/2 + 1 = 25 个活动分片。
现在,对此进行测试证明,在我们运行 3 个节点之前,不会满足 write_consistency 级别(写入操作超时)。这是有道理的,因为在这个设置中,我们可以在每组 2 个节点之间实现脑裂,但我不太明白这个规则应该如何工作?我在这里使用了错误的数字吗?