1.es的master选举采用的是自己实现的类似raft算法的方式,而不是采用zk去实现,他的master选举的依据有两点:第一点比较clusterstate的version版本,谁的版本高谁就是master,第二点:clusterstate的version版本一样的情况下,比较节点的id,谁的id比较小,谁就是master,这里的id比较小应该是有这个节点先启动的愿望在里面
2.在每一轮投票中,每个节点只投一票并汇总受到的选择本节点为master的选票,只要选择本节点为master节点的选票超过半数,那么他就是master,注意这里和zk内部选举leader算法的相似性
参考资料
https://www.cnblogs.com/longxok/p/8951867.html