欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

Elasticsearch 集群脑裂(Split Brain)与选主机制

发表于:|最后更新:|分类:大数据与流计算|阅读:6460 次

Elasticsearch 集群通过主节点(Master Node)管理元数据与分片分配,网络分区可能导致脑裂,出现多个主节点。

一、脑裂成因

当集群被网络分区为两部分,若两部分都能选出主节点,将导致元数据不一致与数据丢失。

二、7.x 后的改进

Elasticsearch 7.0 起引入基于 Raft 的集群协调子系统,移除了 discovery.zen.minimum_master_nodes 配置,由系统自动维护投票配置。

yaml
# 推荐配置:专用主节点
node.roles: [ master ]
discovery.seed_hosts: ["master1", "master2", "master3"]
cluster.initial_master_nodes: ["master1", "master2", "master3"]

生产环境应部署奇数个(至少 3 个)专用主节点,避免主节点同时承担数据角色,确保选举稳定与故障快速恢复。