ES集群规划及节点角色规划最佳实践
下表列出各节点角色资源占用情况
| 节点角色 | 功能 | 资源占用程度 |
|---|---|---|
| Data | 提供数据索引,存储和搜索 | 磁盘IO消耗极高,内存和CPU消耗高,网络消耗一般 |
| Master | 管理集群状态 | 磁盘,内存,CPU和网络消耗低 |
| Ingest | 索引预处理(pipeline) | 磁盘IO消耗低,内存和CPU消耗极高,网络消耗一般 |
| Coordinator | 代理转发请求,合并搜索结果 | |
| Machine Learning | 处理机器学习模型 | io消耗低,内存和CPU消耗极高,网络消耗一般 |
1、内存
Elasticsearch 和 Lucene 都是 Java 语言编写,这意味着我们必须注意堆内存的设置。
Elasticsearch 可用的堆越多,它可用于过滤器(filter)和其他缓存的内存也就越多,更进一步讲可以提高查询性能。
但请注意,过多的堆可能会使垃圾回收暂停
本文深入探讨了Elasticsearch集群的内存配置,指出堆内存应分配为总内存的50%,留出另一半给Lucene文件缓存。CPU的选择应考虑查询类型和写入策略。分片数量和副本数量的设定是复杂问题,需要综合考虑数据量、查询性能和高可用需求。此外,介绍了冷热集群架构,以及主节点、数据节点和协调节点的角色划分,强调了节点配置对性能的影响。最后,提供了故障排除提示,如监控堆内存、非堆内存和磁盘IO,以确保集群健康运行。
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



