ES集群节点的职责划分及脑裂

目录

一、节点职责划分

1、master eligible(候选主节点)

2、data(数据节点)

3、ingest(摄取节点)

4、coordinating(协调节点)

5、voting(仅投票节点)

二、脑裂


一、节点职责划分

1、master eligible(候选主节点)

配置参数:node.master: true(默认值)

节点职责:主节点可以管理和记录集群状态、决定分片在哪个节点、处理创建和删除索引库的请求。

2、data(数据节点)

配置参数:node.data: true(默认值)

节点职责:存储数据、搜索、聚合、CRUD。

3、ingest(摄取节点)

配置参数:node.ingest: true(默认值)

节点职责:数据存储之前的预处理。

4、coordinating(协调节点)

配置参数:当上面的参数为false则为coordinating节点

节点职责:路由请求到其它节点并且合并其它节点处理的结果,返回给用户。

5、voting(仅投票节点)

配置参数:node.voting_only: true

节点职责:再选举过程中仅可以投票而不参与竞选,不过同时也可以作为数据节点。

二、脑裂

        脑裂是一种非常有趣的现象。默认情况下,每一个节点都是master eligible节点。当master节点因为网络阻塞等原因导致无法与其它节点通信时,其它节点无法与master节点建立连接,那么便会认为master节点已经宕机。此时其它节点便会选举出一个新的master节点,当网络恢复后便会出现两个master节点,我们称此为脑裂。

        如果出现脑裂的现象,多个master会互相竞争,导致主分片和副本出现分歧,把一些分歧中的分片标识为坏片。

        为了避免脑裂,一般要求选举票超过(master eligible数量+1)/2才可以成为新的master节点,所以节点数量最好为奇数。对于yml中的配置项为discovery.zen.minimum_master_nodes,不过在ES7.0以后已经成为了默认配置,因此一般不会出现脑裂的问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫忘一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值