节点与角色
本章定位:ES 的不同节点承担不同角色——Master 管集群、Data 管存储、Ingest 管预处理。理解角色分工是做集群架构的前提。
定义与作用
Elasticsearch 节点根据角色分为:
- Master-Eligible:管理集群状态(索引创建/删除、分片分配)
- Data:存储数据和执行搜索/聚合
- Ingest:执行 Ingest Pipeline 预处理
- Coordinating:接收客户端请求、路由转发和结果归并(所有节点默认具备)
- ML:机器学习作业(7.x+)
7.0+ 后,node.roles 可以组合:[master, data, ingest]。
完整示例:白歌的集群架构
# 3 个 Master-Eligible(保证选举 quorum)
node-1: master
node-2: master
node-3: master
# 5 个 Data(热温冷分 tier)
node-4: data_hot
node-5: data_hot
node-6: data_warm
node-7: data_cold
# 2 个专用 Coordinating
node-8: [] # 无角色 = 纯协调
node-9: [] # 无角色 = 纯协调
小结
小型集群(3 节点):全部设为 master+data。中型集群(10+ 节点):分离 Master(3)、Data、Coordinating。专用协调节点避免数据节点的搜索和路由负载互相影响。