Elasticsearch 集群架构?
Elasticsearch 面试题发布于
一、节点角色
- Master:管理集群元数据,选举。
- Data:存储分片数据,执行 CRUD、搜索。
- Ingest:数据预处理(pipeline)。
- Coordinating:路由请求,合并结果。
- Machine Learning:机器学习。
- Remote Cluster:跨集群搜索。
二、分片
- Index 创建时指定主分片数(不可改)和副本数(可改)。
- 主分片负责写入,副本分片提供读和高可用。
- 分片数预估:单分片不超过 50GB,单节点分片不超过 1000。
三、选举
- 基于 Bully 算法。
- master-eligible 节点参与选举。
- 半数以上同意才选为 Master。
四、脑裂
- 网络分区导致两个 Master。
- 配置 discovery.zen.minimum_master_nodes = N/2 + 1 防止。
五、扩展
- 加节点:自动 rebalance 分片。
- 扩副本:API 修改副本数。
- 主分片数不可变,需重建索引。