[源码]Elasticsearch源码4(选举机制)
来源:互联网 发布:淘宝用户需求分析 编辑:程序博客网 时间:2024/06/05 13:09
本文简述了ES选举中应用相对于Paxos简单了许多的Bully算法,感谢elasticsearch的master选举机制,zenDiscovery和master选举的精彩介绍
一、前言
二、Bully and Paxos
2.1 Bully
Bully
对所有可以成为master的节点根据nodeId排序,每次选举每个节点都把自己所知道节点排一次序,然后选出第一个(第0位)节点,暂且认为它是master节点。
如果对某个节点的投票数达到一定的值(可以成为master节点数n/2+1)并且该节点自己也选举自己,那这个节点就是master。否则重新选举。
对于brain split问题,需要把候选master节点最小值设置为可以成为master节点数n/2+1(quorum)
通过比较节点能“看到”的候选master数量和配置的最小值来确定是否可以进行选举,如果数量不够会导致选举不能进行,这样就可以保证集群不会被分裂。下面以一个图(图片来自于elasticsearch官网)来说明:
2.2 Paxos
阅读全文
0 0
- [源码]Elasticsearch源码4(选举机制)
- Ceph Monitor源码机制分析(三)—— 选举
- 以太坊源码(03):POA委员会选举机制
- ElasticSearch源码
- zookeeper leader选举源码实现
- zookeeper leader选举 源码分析
- Solr4.7源码分析-启动篇之Solr Cloud(二)——solr选举机制
- [源码]Elasticsearch源码2(RPC)
- ZooKeeper源码阅读(五):Leader选举
- zookeeper源码分析之leader选举
- elasticsearch源码解析---AllocationDecider
- elasticsearch源码分析---TransportClient
- ElasticSearch Bulk 源码解析
- elasticsearch-ThreadPool源码
- elasticsearch 源码阅读
- Elasticsearch源码编译运行
- Elasticsearch 源码 Study
- elasticsearch选举master
- 近三周关于javaweb的学习小结与感悟
- JAVA-----JNI调用小bug
- Android-屏幕适配全攻略(一)
- 解决Git建立远程分支关联时fatal the current branch master has no upstream branch 问题
- Python os.chdir() 方法
- [源码]Elasticsearch源码4(选举机制)
- 数组(1)
- Bentley.Hammer.XM.v08.09.400.34 1CD(水锤和瞬态分析软件)好用版\
- SVN不小心删除了服务器上的文件夹解决办法
- 持续集成之③:将代码自动部署至测试环境
- java3
- 在ubuntu下安装配置phabricator
- java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
- [源码]Elasticsearch源码5(2.x插件开发)