如何确定 Elasticsearch 的合格主节点数量?

How to determine number of eligible master nodes for Elasticsearch?

运行 ES 1.4.3

所以我有 4 个集群节点。所有节点都配置为默认(双功能 data/master 节点)。

那么在默认配置中我们可以有 4 个符合条件的节点吗?

所以 N/2 + 1 = discovery.zen.minimum_master_nodes: 3

现在假设我决定将我的集群增加到 20 个节点,并为主节点获取专用物理框...

既然 20 个节点都是严格的数据节点,我应该为专用主节点购买多少个盒子?

您应该有三个专用主节点,并且您的 discovery.zen.minimum_master_nodes 设置应该是 2。拥有超过 3 个主节点是多余的,少于 3 个将无法防止脑裂问题。任何时候只有一个主节点处于活动状态,如果当前主节点宕机,其他两个专用主节点将等待成为主节点。

例如,假设您有 3 个主节点:node1(活动主节点)、node2 和 node3。如果网络分区导致node1无法与node2和node3通信,node1将失去master状态,因为discovery.zen.minimum_master_nodes设置为2。它也会被阻塞,因此无法对该节点进行任何操作。 Node2 将成为集群的活动主节点,因为有 2 个可能的主节点可用(node2 和 node3)。当网络分区固定后,node1会ping通其他master节点,作为等待master节点重新加入集群。