
0.3 Elasticsearch-最低硬件 & 操作系统要求
(基于 8.15.x 生产环境验证)
- 目的
把“能跑起来”与“能扛住线上流量”区分开,给出两组数值:
- 最低能启动:本地开发、CI 容器、一次性 PoC 用;
- 最低能投产:3 节点小集群,单日 50 GB 增量、1 TB 存量,99.9 % 可用率。
所有数字均来自 8.15.3 官方压测及阿里云 2 vCPU/4 GiB→8 vCPU/32 GiB 递增实测,JVM 21、G1GC、默认 mapping、无冻结层。
- 最低能启动(Single-node, development only)
CPU:2 线程(x86-64 或 ARMv8),主频 ≥ 2 GHz
内存:4 GB 物理内存,其中堆 ≤ 2 GB(-Xms2g -Xmx2g)
磁盘:5 GB 空闲,ext4/XFS,本地 SSD 或云盘均可,关闭 access-time
网络:loopback 即可,无需 TLS
OS:Linux 3.10+/Windows 10 2004+/macOS 12+,Docker 20.10+
注意:
- 4 GB 节点只能空载启动;写入 1 万 doc/s 后 Old GC 瞬间飙到 2 s,直接 OOM。
- 若用 WSL2,必须限制 wslconfig 内存 ≤ 物理内存 50 %,否则 Windows 宿主被拖死。
- 最低能投产(3-node,非冻结层,副本 1)
3.1 节点规格
CPU:8 核 16 线程(Intel Cascade Lake/AMD EPYC 2),AVX2 指令集
内存:32 GB,堆 16 GB(50 %),其余留给 Lucene/OS page cache
磁盘:
- 容量:热层 ≥ 原始日志 × 1.3(含副本)× 1.2(merge 膨胀)
- 性能:2 万 4 kB 随机读 IOPS,500 MB/s 顺序写,延迟 < 5 ms
- 类型:本地 NVMe ≥ 1 TB;云环境用 ESSD AutoPL 或 gp3,预打 5 万 IOPS
网络:万兆以太网,节点间 RTT < 1 ms,南北向 5 Gbps 出口
OS: - Linux 5.10+(推荐 Ubuntu 22.04、AlmaLinux 9、Debian 12)
- 文件描述符 65536、max_map_count 262144、vm.swappiness 1
- 关闭透明大页、关闭 NUMA balancing、时钟源 tsc
3.2 小型化折中(边缘机房、预算受限)
CPU:6 核 12 线程
内存:16 GB,堆 8 GB
磁盘:500 GB SATA SSD,1 万 IOPS
限制:
- 单分片 ≤ 30 GB,索引保留 7 天,日增量 ≤ 10 GB;
- 查询并发 ≤ 20,p99 延迟 200 ms;
- 禁止跨集群搜索与 ML 作业。
-
ARM64 特别说明
AWS Graviton3、阿里倚天 710、华为鲲鹏 920 均通过 Elastic CI 矩阵测试,相同核数下性能与 x86-64 差距 < 5 %,但 JVM 必须升级到 21.0.2+ 以修复 AArch64 的 G1 分代屏障 bug。
容器镜像:docker.elastic.co/elasticsearch/elasticsearch:8.15.3-arm64,无需额外参数。 -
Windows Server 边缘场景
仅推荐 2019/2022 Datacenter Core(无 GUI),NTFS 64 k 簇大小,安装路径短于 30 字符,禁用 Windows Defender 实时扫描 data 目录。
最大堆 ≤ 31 GB(Compressed OOPs 临界点),超过后需改用 48 GB+ 并关闭压缩指针,性价比骤降,因此生产仍优先 Linux。 -
云厂商快速选型表
| 云 | 最小可投产规格 | 备注 |
|—|—|—|
| AWS | m6i.2xlarge (8 vCPU/32 GB) + 1 TB gp3 (5k IOPS) | 单节点月价 ≈ $180 |
| 阿里云 | ecs.c7.2xlarge + ESSD PL1 1 TB | 支持倚天 ARM,同价多 15 % 性能 |
| Azure | Standard_D8s_v5 + Premium SSD v2 1 TB | 需开加速网络 | -
检查脚本
复制到每台节点,一键验证是否达标:
#!/usr/bin/env bash
set -euo pipefail
err(){ echo "[ERROR] $*" >&2; exit 1; }
[[ $(nproc) -ge 8 ]] || err "CPU < 8 core"
[[ $(free -g | awk '/^Mem:/{print $2}') -ge 31 ]] || err "RAM < 32 GB"
[[ $(sudo fdisk -l | grep -c 'Linux filesystem') -ge 1 ]] || err "No ext4/xfs"
[[ $(cat /sys/block/$(df -P /var/lib/elasticsearch | tail -1 | cut -d/ -f3 | sed 's/[0-9]*$//')/queue/rotational) -eq 0 ]] || err "Disk is HDD"
[[ $(ulimit -n) -ge 65536 ]] || err "file-max too low"
echo "All good, ready to install Elasticsearch."
- 小结
- 开发环境 2C4G 能跑,但一压就挂;
- 线上最小单元是 8C32G+NVMe,低于此数值的“省钱方案”最终都会以熬夜重启偿还;
- ARM64 已毕业,可放心用于新立项;
- 操作系统只选 Linux 5.10+,Windows 仅作为日志采集端,不做数据节点。
更多技术文章见公众号: 大城市小农民
940

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



