节点角色与分布
Elasticsearch 集群由多个节点组成,每个节点可承担不同的角色。合理配置节点角色和分布策略,有助于实现高性能、高可用的搜索系统。
1. 常见节点角色
| 角色类型 | 描述 |
|---|---|
master 主节点 |
负责集群管理(创建索引、变更元数据) |
data 数据节点 |
存储数据并执行 CRUD 和聚合查询 |
ingest 预处理节点 |
执行数据处理流水线(Ingest Pipeline) |
coordinating 协调节点 |
接收请求并分发至数据节点,默认所有节点均可协调 |
ml 机器学习节点 |
用于 Elastic Stack 的内置机器学习任务 |
remote_cluster_client |
用于跨集群搜索(CCS)场景 |
✅ 可通过设置
node.roles明确指定角色,例如:
node.roles: [master, data]
`
2. 节点分布建议
- 主节点数量建议为奇数(≥3),确保主选举机制可靠
- 数据节点可根据业务量横向扩展,每台机器建议不超过 50GB/分片
- 协调节点可分离部署,适合高并发读写场景
- Ingest 节点适合日志清洗等前置处理场景
3. 示例集群结构(生产环境建议)
- 3 个主节点(不作为数据节点)
- 5 个数据节点
- 2 个协调节点(仅处理外部请求)
- 1~2 个 ingest 节点用于日志预处理
4. 高可用性策略
- 部署节点于多个物理机或可用区
- 开启副本(replica)分片保障数据冗余
- 使用负载均衡器分发请求,保障协调层稳定
合理设计 Elasticsearch 节点角色与分布结构,是建设高性能、高可用搜索集群的基础。
相关内容
- 定义与用途 本章介绍 Elasticsearch 的定义、核心功能与适用场景,帮助读者理解它为何成为现代搜索与日志分析的首选解决方案。
- 使用场景 本章总结 Elasticsearch 在全文搜索、日志分析、监控告警、推荐系统等领域的典型应用场景,助力理解其强大用途。
- 核心概念简介 本章概览 Elasticsearch 的核心构成,包括索引、文档、映射、节点、集群等关键概念,为后续使用和架构设计打下基础。
- 本地安装 本章介绍如何在本地环境中安装 Elasticsearch,适配 Windows、macOS 和 Linux 系统,便于开发测试与入门学习。
- Docker 安装 本章讲解如何通过 Docker 安装和运行 Elasticsearch,适合开发者快速搭建测试环境并集成至容器化工作流中。
- 与 Kibana 一起部署 本章介绍如何将 Elasticsearch 与 Kibana 一起部署,使用 Docker Compose 快速构建可视化分析平台,适合开发与测试环境使用。