Elasticsearch脑裂

脑裂问题就是集群中出现了多个master,导致集群内部信息混乱,无法对外提供一致信息。

解决方案就:

        避免出现多个master。

根本解决方案:

        没有。 由于网络原因不可控。

避免措施:

        1,master节点与data节点分离,配置如下:

             主节点配置为:
                    node.master: true 
                    node.data: false

             从节点配置为:
                    node.master: false 
                    node.data: true

         2,master节点采用(CMS)GC算法,即使GC全局回收,也会及时响应。

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

         4,设置选举触发条件,discovery.zen.minimum_master_nodes:1
               该参数是用于控制选举行为发生的最小集群主节点数量。

               当备选主节点的个数大于等于该参数的值,且备选主节点中有该参数个节点认为主节点挂了,进行选举。官方建议为
             (n/2)+1,n为主节点个数(即有资格成为主节点的节点个数),增大该参数,当该值为2时,我们可以设置master
               的数量为3,这样,挂掉一台,其他两台都认为主节点挂掉了,才进行主节点选举。

         5,data节点的默认的master发现方式有multicast修改为unicast:

              discovery.zen.ping.multicast.enabled: false

              discovery.zen.ping.unicast.hosts: ["master1", "master2", "master3"]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值