Skip to content

硬件选型 ​

1. 硬件需求概述 ​

资源需求等级说明
内存⭐⭐⭐⭐⭐最重要,影响查询性能和缓存
磁盘 IO⭐⭐⭐⭐影响写入和查询速度
CPU⭐⭐⭐影响聚合和排序性能
网络⭐⭐影响集群通信和数据迁移

2. 存储选型 ​

类型适用场景IOPS(参考值)成本
NVMe SSDHot 节点、搜索密集100K+高
SATA SSDHot/Warm 节点10K~50K中
HDDWarm/Cold 节点100~200低
云盘 (gp3)云环境通用可配置中

上表 IOPS 为特定测试条件下的参考值,仅供粗略量级参考,实际取决于块大小、读写比例、队列深度与设备型号。选型时应结合随机读延迟、持续写入吞吐与访问模式(查询频率、延迟目标、数据保留策略)判断,而非只看 IOPS 数字。

yaml
# 每个节点使用单一数据路径
path.data: /data/esdata

需要整合多块磁盘时,在操作系统层用 RAID 或 LVM 合并后作为单一 path.data 使用;独立扩展容量时优先新增数据节点。Elasticsearch 的多数据路径(path.data 以逗号分隔多个目录)自 7.13 弃用、8.0 起移除。

3. 内存配置 ​

场景内存建议说明
小型集群16~32GB堆 8~16GB
中型集群64~128GB堆 16~26GB
大型集群128~256GB堆约 26GB + 大量 OS 缓存

核心原则:堆内存不超过物理内存的 50%,留给文件系统缓存;同时不超过 JVM 压缩对象指针(compressed oops)的阈值。该阈值随系统而异,多数环境下约 26GB 是更稳妥的参考值,部分系统可接近 30GB。可通过 GET /_nodes/_all/jvm 查看 using_compressed_ordinary_object_pointers 确认压缩指针是否生效。

4. CPU 选型 ​

场景CPU 建议
搜索密集高主频(3.0GHz+),核心数适中
聚合密集多核心(16+),主频适中
写入密集多核心 + 高主频
通用场景8~16 核,2.5GHz+

5. 网络配置 ​

配置建议
带宽≥ 10Gbps(生产环境)
延迟< 1ms(同机房)
节点间通信同一机房/可用区

以上为生产环境典型建议,实际带宽与延迟取决于写入吞吐、分片迁移量与查询并发,应以压测结果为准。

6. 云环境配置 ​

以下实例与存储为示例配置,需结合预期数据量、写入吞吐、查询并发、副本数与保留周期压测验证,不可直接当作生产通用基线;Warm 节点选用 HDD 前需确认访问模式与延迟目标。

6.1 AWS 推荐 ​

节点类型实例类型存储
Hot Datar6i.xlargegp3 SSD
Warm Datar6i.xlargest1 HDD
Masterm6i.largegp3

6.2 阿里云推荐 ​

节点类型实例类型存储
Hot Dataecs.r6.xlargeESSD PL1
Warm Dataecs.r6.xlarge高效云盘
Masterecs.g6.largeESSD PL1

7. 硬件配置示例 ​

以下为待验证的规格清单(非 Elasticsearch 配置文件),非默认推荐值;最终规格以实际负载的 GC、堆占用与文件系统缓存命中情况为准。

yaml
# Hot 节点(搜索/写入密集)
CPU: 16 核 (3.0GHz+)
内存: 64GB(堆约 26GB)
存储: 2TB NVMe SSD
网络: 10Gbps

# Warm 节点(数据存储)
CPU: 8 核
内存: 32GB(堆 16GB)
存储: 8TB HDD
网络: 10Gbps

# Master 节点(集群管理)
CPU: 4 核
内存: 8GB(堆 4GB)
存储: 100GB SSD
网络: 1Gbps

8. 最佳实践 ​

  • Hot 节点使用 SSD,Warm/Cold 节点可使用 HDD
  • 堆内存不超过物理内存的 50%,且不超过 JVM 压缩对象指针阈值(随系统而异,多数环境约 26GB)
  • 留足够内存给文件系统缓存
  • 生产环境网络带宽 ≥ 10Gbps
  • 使用 bootstrap.memory_lock: true 请求锁定内存,是否生效取决于系统权限与 ulimit 限制
  • 磁盘整合走 RAID/LVM 或新增数据节点,不用多路径 path.data
  • 定期监控硬件资源使用率

9. 容量规划与诊断 ​

9.1 容量规划 ​

  1. 按原始数据增长量与保留周期估算总存储需求。
  2. 分别计算副本带来的存储开销、磁盘水位线约束,以及节点故障或扩容期间的恢复余量(15% 仅为初步估算示例,非固定要求)。
  3. 预留故障恢复空间与增长余量。
  4. 按查询密集、写入密集、历史检索等工作负载取舍 CPU、内存与存储。

9.2 诊断对照 ​

表中症状仅作线索,需结合观测指标确认瓶颈后再做硬件决策,避免把症状直接等同于硬件原因。

症状观测指标确认瓶颈后的决策
查询延迟高、缓存命中低页缓存命中、磁盘读增加内存或换更快存储
写入积压、IO 等待高磁盘读写延迟、队列换更高 IOPS 存储或分散写入
聚合排序慢、CPU 饱和CPU 利用率、查询耗时更多核心或更高主频

Released under the MIT License.