如何尽量避免Elasticsearch脑裂问题

今天碰到个问题,8个结点的ES集群老是启动失败,检查发现居然形成多个小集群,也就是说,出现了多个master结点。

折腾半天,发现调整如下两个参数有效:


discovery.zen.ping_timeout(默认3秒):

        默认情况下,一个节点会认为,如果master节点在3秒之内没有应答,那么这个节点就是死掉了,而增加这个值,会增加节点等待响应的时间,从一定程度上会减少误判。

       我改成10s。

discovery.zen.minimum_master_nodes(默认是1):

        一个节点需要看到的具有master节点资格的最小数量,然后才能在集群中做操作。官方的推荐值是(N/2)+1,其中N是具有master资格的节点的数量(我的情况是5,因为有8个结点)。

        注意:对于只有2个节点的情况,设置为2就有些问题了,一个节点DOWN掉后,你肯定连不上2台服务器了,这点需要注意。


你可能感兴趣的:(Elasticsearch)