在我的生产环境中,我有一个双节点集群(ES 2.2.0),每个节点都位于不同的物理盒子上。在elasticsearch.yml里面,我有以下内容:
discovery.zen.minimum_master_nodes: 2
我的问题是:如果一个盒子关闭,另一个节点是否可以继续正常运行以提供不间断的搜索服务(索引和搜索,写入和读取)?
谢谢!
答案 0 :(得分:2)
如果你有两个节点并且每个节点都符合主节点并且你有discovery.zen.minimum_master_nodes: 2
,那么如果网络发生故障并且这两个节点暂时没有看到对方,你就会得到进入split brain situation,因为每个节点都会选择自己作为主人。
但是,如果设置为2,则有两种可能的情况:
因此,只有两个节点,您需要选择分裂大脑(minimum_master_nodes: 1
)或潜在RED群集(minimum_master_nodes: 2
)的可能性。解决此问题的最佳方法是包含第三个仅限主节点,然后minimum_master_nodes: 2
才有意义。
试一试:
答案 1 :(得分:1)
最小主节点的目的是保持集群的稳定性。
如果群集中只有2个节点,并且设置了2个最小主节点。
如果您将最小主设备设置为2,则群集将需要2个节点才能启动以提供各种搜索服务。
如果一个节点在2节点集群中出现故障(其中有2个最小主节点设置),理论上集群将会关闭。
答案 2 :(得分:1)
首先,此设置有助于防止分裂大脑,单个群集中存在两个主人。 如果您有两个节点,设置为1将允许您的群集运行,但不能防止裂脑。在情况下最好至少有三个节点。