打开虚拟机之后,发现集群脑裂了,原本一个集群,突然分离成两个了。并且选举出了新的master
于是就去查了一下具体原因。
脑裂现象的产生于某些节点的失效,部分节点的网络连接会断开,并形成-个与原集群一样名字的集群, 这种情况称为集群脑裂(split brain)现象。
这个问题非常危险,因为两个新形成的集群会同时索引和修改集群的数据,这个时候就会出现数据冲突了。
可能产生“脑裂”的原因?
网络原因
内网一般不会出现此问题,可以监控内网流量状态。外网的网络出现问题的可能性大些。
●节负载
由于master节点与data节点都是混合在一起的, 所以当工作节点的负载较大(确实也较大)时,导致对应的ES实例停止响应,而这台服务器如果正充当着master节点的身份,那么一部分节点就会认为这个master节点失效了,故重新选举新的节点,这时就出现了脑裂;这里最好是master节点和数据节点紛开。
●回收内存
于data节点上ES进程占用的内存较大,较大规模的内存回收操作也能造成ES进程失去响应。
具体的解决方法呢,可能是网络原因,于是小弟就去检查了一下网络情况,并给虚拟机增加了核心数和内存。最后重启服务,便解决了这种现象。