Elasticsearch 磁盘水位阈值设置:最合理配置 + 生产实战

张开发
2026/4/20 2:47:38 15 分钟阅读
Elasticsearch 磁盘水位阈值设置:最合理配置 + 生产实战
Elasticsearch 磁盘水位阈值设置最合理配置 生产实战前言Elasticsearch 磁盘水位阈值设置合理配置与生产最佳实践一、核心概念什么是 ES 磁盘水位1.1 定义1.2 三个关键水位必须记住1.3 水位触发后行为表1.4 磁盘水位设置流程图二、两种设置方式百分比 / 剩余空间选对才合理2.1 百分比配置适合小磁盘 ≤ 500GB2.2 剩余空间配置适合大磁盘 ≥ 500GB推荐三、生产环境最合理推荐配置直接复制3.1 通用标准配置百分比适合绝大多数集群3.2 大磁盘服务器推荐GB 配置1TB 磁盘四、不同磁盘规模的合理水位表五、关键设置说明必须理解5.1 设置类型5.2 必须遵守的规则六、如何查看当前磁盘水位配置七、如何查看节点磁盘使用情况八、触发洪水水位后如何恢复8.1 清理磁盘空间8.2 解除只读九、生产环境最佳实践最重要十、总结最核心 3 条总结The Begin点点关注收藏不迷路前言Elasticsearch 磁盘水位阈值是防止集群宕机、避免索引只读的核心配置。90% 以上的“索引自动只读”问题都是因为磁盘水位设置不合理或未设置导致的。本文专门讲解如何在 Elasticsearch 中设置合理的磁盘水位阈值包含原理、流程图、百分比/剩余空间配置、生产推荐值、不同磁盘大小方案、永久生效配置全是可直接落地的生产级经验。Elasticsearch 磁盘水位阈值设置合理配置与生产最佳实践一、核心概念什么是 ES 磁盘水位1.1 定义Elasticsearch 磁盘水位阈值ES 用来监控节点磁盘使用率的自动保护机制根据磁盘占用情况执行不同保护策略防止磁盘写满导致集群崩溃。1.2 三个关键水位必须记住低水位low仅告警不影响读写高水位high停止分片分配不再写入新数据洪水水位flood_stage所有索引强制只读业务无法写入1.3 水位触发后行为表水位级别触发行为业务影响low告警无影响high停止分片分配写入变慢/无法扩容flood_stage索引只读业务写入失败报错4031.4 磁盘水位设置流程图根据磁盘大小选择配置方式设置low/high/flood三级阈值设置为persistent永久生效监控磁盘使用率集群稳定不触发只读二、两种设置方式百分比 / 剩余空间选对才合理ES 支持两种水位配置方式大磁盘必须用 GB 配置小磁盘用百分比。2.1 百分比配置适合小磁盘 ≤ 500GB根据磁盘使用率百分比触发简单通用。2.2 剩余空间配置适合大磁盘 ≥ 500GB推荐根据剩余可用空间 GB触发更精准、更安全。重点1TB 磁盘 95% 还剩 50GB20TB 磁盘 95% 还剩 1TB百分比会误导三、生产环境最合理推荐配置直接复制3.1 通用标准配置百分比适合绝大多数集群PUT/_cluster/settings{persistent:{cluster.routing.allocation.disk.watermark.low:80%,cluster.routing.allocation.disk.watermark.high:85%,cluster.routing.allocation.disk.watermark.flood_stage:90%}}✅ 为什么合理给业务预留足够空间提前告警提前清理不会轻易触发只读3.2 大磁盘服务器推荐GB 配置1TB 磁盘PUT/_cluster/settings{persistent:{cluster.routing.allocation.disk.watermark.low:100gb,cluster.routing.allocation.disk.watermark.high:50gb,cluster.routing.allocation.disk.watermark.flood_stage:20gb}}✅ 最安全、企业生产最常用。四、不同磁盘规模的合理水位表磁盘大小low 低水位high 高水位flood 洪水水位只读触发200GB80%85%90%500GB85%90%93%1TB100GB50GB20GB2TB200GB100GB50GB五、关键设置说明必须理解5.1 设置类型persistent永久生效重启集群不变⭐ 推荐transient临时生效重启失效5.2 必须遵守的规则low high flood_stage例80% → 85% → 90%大磁盘集群一定不要用百分比要用 GBflood_stage不要超过 90%否则极易触发只读六、如何查看当前磁盘水位配置GET/_cluster/settings?pretty查看persistent下的cluster.routing.allocation.disk配置。七、如何查看节点磁盘使用情况GET/_cat/allocation?v可查看每个节点磁盘总量已使用剩余空间当前水位状态八、触发洪水水位后如何恢复8.1 清理磁盘空间8.2 解除只读PUT/*/_settings { index.blocks.read_only_allow_delete: null }九、生产环境最佳实践最重要大磁盘一律用 GB 配置不要用百分比flood_stage 不要超过 90%水位设置后必须是永久配置persistent配合ILM 自动清理旧索引磁盘使用率超过75% 必须告警十、总结最核心 3 条三级水位必须从小到大low high flood小磁盘用百分比大磁盘用 GB生产标准安全值80% → 85% → 90%总结合理磁盘水位 永不自动只读配置命令PUT /_cluster/settings两种方式百分比小磁盘、GB大磁盘生产推荐80%、85%、90%或100GB、50GB、20GBThe End点点关注收藏不迷路

更多文章