我们要求仅使用两个节点来运行高度可用的Elasticsearch集群。我了解对于可靠的HA,建议节点数为奇数(3+),但由于某些特定的环境限制而不能这样做。
在ES 6.x中,我们可以通过将discovery.zen.minimum_master_nodes
config选项设置为1来实现,这可以在单节点故障(https://blog.trifork.com/2013/10/24/how-to-avoid-the-split-brain-problem-in-elasticsearch/)的情况下保持其余节点UP。这是以潜在的数据不一致为代价的,但这是我们知道的处理方法。
现在,在ES 7.x中。 discovery.zen.minimum_master_nodes
选项不再有效。是否有任何方法可以在两个节点群集上使用ES 7.x实现类似的行为,即保持高可用性,但会在发生裂脑时以丢失某些数据完整性的代价为代价?
[请看一下这个出色的blog post,它详细解释了ES 7.x中集群协调的变化
按breaking changes,The discovery.zen.minimum_master_nodes setting is permitted, but ignored, on 7.x nodes.
,而是按discovery.seed_hosts
所述配置cluster.initial_master_nodes
和here。