0%

集群master选举

集群master选举

为了避免网络慢或者拥塞,该参数可以适当调高,默认3s

1
discovery.zen.ping_timeout: 30

在节点完成选举后,如果有新节点加入,会发送join请求到master节点,默认重试20次

1
2
# 该配置为超时时长
discovery.zen.join_timeout: 60000ms

如果master宕机,集群节点会再次进行ping过程,并选举出一个新的master(只有配置了node.master为true的才有资格进行master选举)

1
2
# 用于控制选举行为发生的最小集群节点数量, 防止脑裂(一个es集群因网络原因或master节点负载过大,响应速度过慢,导致ping主节点超过超时时间,而引起的部分候选主节点进行重新选举,导致产生大于1个master节点,每一个master节点相当于一个独立的es集群),只有大于该值,才会进行master节点的选举,该参数必须大于等于集群中master候选节点的quorum数量,`quorum=master候选主节点数/2 + 1`
discovery.zen.minimum_master_nodes

master会ping集群中的所有node节点,确保它们处于存活状态,而相对的,每个node节点都会ping master节点,来确保master是存活的,否则就会发起选举

但是如果master宕机之后,是不是就无法操作集群了呢?这个行为是由参数决定的

1
2
3
4
# 当集群中没有活动的master节点后,该设置指定了哪些操作需要被阻塞,可选allwrite,默认为write
# all 表示一旦master宕机,所有操作都会被拒绝
# write 表示只有写操作会被拒绝,读操作还可以正常进行
discovery.zen.no_master_block: all