zoukankan      html  css  js  c++  java
  • ElasticSearch集群脑裂现象

    1、什么是脑裂

    如果服务器网络中断或者服务器宏机,那么集群会有可能被划分为两个部分,各自与自己的master来管理,这就是脑裂。

    假设ES集群,刚开始服务器1是主节点,其它两台为从节点

    然后假设Master受到影响,挂机了。此时假设服务器2成为主节点,服务器2和服务器3成为一个新的集群。

    接着服务器1恢复了,它有可能不会成为Slave,不会加入到原先的集群,这样相当于服务器被割裂开来,如下图所示。

     为什么会出现上面的情况?

    因为ES有最小投票人数,默认是1。服务器1恢复后,自己给自己投票,就能成为master。就有2个集群了。 对于ES集群来说,这时候不可能有两个集群的,服务器1所在的集群数据是不完整的。

    2、如何解决脑裂问题

    master主节点要经过多个master节点共同选举后才能成为新的主节点

    解决实现原理:半数以上节点同意选举,节点方可能成为master

    discovery.zen.minimum_master_nodes = (N/2 + 1)   N并不代表所有的ES节点数,配置了node.master=true的所有节点数。

    老版本可能出现脑裂的问题。

    在最新版7.x中,我们现在使用的版本7.4.2 ,这一块的内容已经交个ES自身管理,discovery.zen.minimum_master_nodes属性已经被移除。这样就避免了脑裂的问题,选举也非常快。
  • 相关阅读:
    HDU-4035 Maze
    poj 3744 Scout YYF I
    HDU 4911 Inversion
    HDU-3001 Travelling
    HDU 4539 郑厂长系列故事——排兵布阵
    poj 3311 Hie with the Pie
    poj-1185 炮兵阵地
    位运算
    HDU-1438 钥匙计数之一
    poj 3254 Corn Fields
  • 原文地址:https://www.cnblogs.com/linlf03/p/13337872.html
Copyright © 2011-2022 走看看