我们目前有一个包含6个数据节点和一个非数据节点的集群。其中,两个目前是主人符合条件。此群集位于EC2上。
主节点的最佳数量是多少,还是有理由进行区分?
答案 0 :(得分:12)
如果没有主节点,群集将无法运行。因此,符合主节点的节点数量取决于您丢失所有主节点的容差。
拥有奇数个符合主节点的节点并将discovery.zen.minimum_master_nodes
设置为大于群集中符合主节点数的节点数的一半可能也会有所帮助。这应该可以显着降低您的群集进入裂脑状态的可能性。
例如,对于具有3个符合主节点的节点的群集,您可以将discovery.zen.minimum_master_nodes
设置为2.
答案 1 :(得分:4)
如Elasticsearch Pre-Flight Checklist所述,您可以在discovery.zen.minimum_master_nodes
个节点的群集上将(N/2)+1
设置为至少N > 2
。
其中N是符合条件的主节点数。
在您的情况下,discovery.zen.minimum_master_nodes: 4
符合条件的主节点,即(6/2)+1
答案 2 :(得分:1)
minimum_master_nodes
(法定人数)应根据主节点的数量而非数据节点计算,当且仅当所有数据节点都是主要合格节点时,Uyi的建议才是正确的。
你应该永远不会有2个主节点,因为有可能处于split-brain情况,我的建议是,至少让3个节点符合条件,并将最小主节点设置为2.
要考虑的另一件事是拥有更小但专用的主节点,以确保它们更稳定并且不会因处理索引而承受压力。