1.es可以控制每一个node存放的是data还是候选master
2.discovery.zen.minimum_master_nodes这个参数比较重要,告诉es当master节点挂掉时,最少有几个候选master才能开始新的选举.官方建议是 总的可成为master节点数/2 +1
假设有5个可以成为master的节点,那么此时设置为3,当master挂掉时,还有4个候选节点,所以会开始进行选举;
官方文档说这个可以有效的控制脑裂,个人觉得有点问题,脑裂是master节点网络不通,一部分节点认为master挂掉了,一部分节点认为master还没有挂掉,挂掉的那部分一起又搞了个master出来,此时集群有两个master
貌似可以这样理解:假设有6个可以候选的master,有2个认为master挂了,3个认为master没问题,此时认为挂掉的2个开始自己选举,此时若discovery.zen.minimum_master_nodes为4,只有那两个认为挂掉的会开始选,所以此时候选节点数是2,小于设置的4,所以不会选举。如果这样理解,就可以认为discovery.zen.minimum_master_nodes这个参数还有一个效果,就是控制有多少个候选节点认为master挂了,才开始选举。
discovery.zen.minimum_master_nodes 简单说:最少有多少候选master节点,并且这些节点都认为master挂掉了,才开始选举