elasticsearch master节点的选举原理

1 节点分类

master-eligible node

配置文件中node.master设置为true的节点,该类型节点可以被选举为master node。

data node

配置文件中node.data设置为true的节点,该类型节点主要用来存储数据,执行数据CRUD操作,搜索,聚合等。

2 master node作用

负责索引的创建和删除,跟踪哪些节点是集群一部分,给节点分配分片。

3 选择master node原理

1、判断是否有足够多的候选节点,所有候选的master-eligible node数量必须大于等于配置项discovery.zen.minimum_master_nodes的值。这样同时也可以防止出现脑裂情况。

2、对所有候选master-eligible node排序,取节点id最大值的节点为master node。

4 源码

org.elasticsearch.discovery.zen.ZenDiscovery

org.elasticsearch.discovery.zen.elect.ElectMasterService

posted @ 2020-03-22 21:53  liuxinyu123  阅读(464)  评论(0)    收藏  举报