三人行必有我师

ES7.4.0,什么样的节点才被认为是master-eligible?默认情况下是否是所有节点都具有投票权?

Elasticsearch | 作者 guluo | 发布于2020年11月20日 | 阅读数:98

ES7.4.0,7节点集群,其中三个节点的配置为:
node.master: true
node.data: false
另外四个节点的配置为:
node.master: false
node.data: true

在启动ES集群的时候,显示警告信息,并且没有选出master节点:

master not discovered or elected yet, an election requires at least 4 nodes with ids from ...

疑问点:
1. 我的理解是集群中有三个节点有资格成为master,因此在启动ES集群的时候,只要有(3/2 + 1)个有资格成为master的节点参与选举,就可完成选主工作。为什么在日志中显示至少需要有4个节点的参与?
2. 查看代码,发现4是基于(可参与投票的节点数/2 + 1)计算出来的,默认情况下master节点和data节点都有投票权吗?
已邀请:

FFFrp

赞同来自:

配置cluster.initial_master_nodes这个才可以进行选举,配置你所有的master节点,集群第一次启动已需要配置,es在7.x开始已经不是以前那种防止脑裂的模式了,使用的是raft算法,具体可以看下张超大佬的博客

要回复问题请先登录注册