什么是脑裂?
如果发生网络中断或者服务器宕机,那么集群会有可能被划分为两个部分,各自有自己的master来管理,那么这就是脑裂。
es集群有可能会出现脑裂问题,原因主要有两个:
- 如果集群中节点不在同一个网段有可能是网络延迟造成的
- 如果集群中的节点在同一个网段,有可能是主节点负载太大造成的
解决方案主要有两种:
- 把主从节点的职责分离,设置三个储备主节点,node.master=true,node.data=false,从节点只存储数据,node.master=false,node.data=true
- 增加延迟时间:将储备主节点数最小设为n/2+1个