2012-12-28 71 views
10

我们目前有一个6个数据节点和一个非数据节点的集群。其中,两个目前是符合条件的。该群集位于EC2上。弹性搜索最佳主数

主节点的最佳数量是多少,还是有理由进行区分?

回答

11

如果没有主节点,集群就无法运行。因此,主节点的数量取决于您对丢失所有主节点的容忍度。

拥有奇数个符合主节点的节点并将discovery.zen.minimum_master_nodes设置为大于群集中主节点的一半数量可能会有帮助。这应该可以显着减少您的群集进入裂脑状态的机会。

例如,对于用3主资格节点的群集,可以设置discovery.zen.minimum_master_nodes为2

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

+0

你为什么说“在你的情况... 2”。他提到了6个节点,所以根据公式不是4? – philfreo

+0

@philfreo是的。我会调整我的答案。感谢您指出。 –

+1

这里主要合格节点的最小数目为2.如果最小主节点设置为4,则群集将始终不可操作。最好总是有超过2个主要合格节点才能正常工作。 –

1

minimum_master_nodes(仲裁)应根据主节点,而不是数据节点的数量来计算,Uyi的建议是正确的,当且仅当所有的数据节点也是主节点。

你不应该有2个主节点,由于在split-brain情况是潜在的,我的建议是,让至少3个节点掌握资格,并设置最低主节点,以2

另一件事考虑的是拥有更小但专用的主节点,以确保它们更加稳定并且不会受到处理索引的压力。