当前位置: 首页 > news >正文

ES磁盘使用超限问题:TOO_MANY_REQUESTS disk usage exceeded flood-stage watermark,

问题表现

报错信息:TOO_MANY_REQUESTS disk usage exceeded flood-stage watermark,index has read-only-allow-delete block
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

错误信息整体解析

该错误完整含义为:由于磁盘使用量超过了洪水阶段水位线(flood-stage watermark),系统触发了保护机制,将索引设置为"只读-允许删除"(read-only-allow-delete)状态,同时拒绝新的写入请求(TOO_MANY_REQUESTS),防止磁盘被完全占满而影响集群稳定性。

错误原因

  1. 磁盘空间不足:集群中的一个或多个节点磁盘使用率超过了95%(默认flood-stage阈值)
  2. 未清理旧数据:日志或历史数据积累过多
  3. 索引膨胀:数据增长速度超过预期,或索引配置不合理
  4. 磁盘故障:物理磁盘或挂载点出现问题

解决方案

1. 临时解除只读限制(紧急恢复)

通过API临时允许写入,但这不会解决根本问题:

curl -X PUT "localhost:9200/_all/_settings" -H 'Content-Type: application/json' -d'
{"index.blocks.read_only_allow_delete": null
}
'
2. 释放磁盘空间
  • 删除无用索引

    curl -X DELETE "localhost:9200/old-index-*"
    
  • 调整分片分配:将部分索引迁移到磁盘空间充足的节点

  • 缩小索引:对大索引进行rollover或force merge

3. 调整磁盘水印设置(临时缓解)

通过以下命令临时降低警戒水位:

curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{"transient": {"cluster.routing.allocation.disk.watermark.low": "90%","cluster.routing.allocation.disk.watermark.high": "95%","cluster.routing.allocation.disk.watermark.flood_stage": "98%"}
}
'
4. 长期优化建议
  1. 监控磁盘使用:设置告警阈值(建议在75%时触发)
  2. 配置索引生命周期管理(ILM):自动删除或冻结旧数据
  3. 增加磁盘空间:挂载更大容量的磁盘或扩展现有卷
  4. 水平扩展集群:添加更多数据节点分担存储压力
  5. 优化索引结构:使用合适的分片数和副本数

验证修复

执行以下命令检查集群健康状态和磁盘使用情况:

curl -X GET "localhost:9200/_cluster/health?pretty"
curl -X GET "localhost:9200/_cat/allocation?v"

确保磁盘使用率低于高水位线,并且集群状态变为green或yellow。

如果问题反复出现,建议深入分析数据增长模式并规划长期存储策略。

相关文章:

  • 【Docker安装PostgreSQL】psql:致命错误: 用户 Password 认证失败
  • Android中Glide.with().load().into() 应付面试源码解析
  • C语言中errno错误码定义及使用
  • 绿色建筑发展新动能:楼宇自控助力实现高效节能减排
  • 2025年- H82-Lc190--322.零钱兑换(动态规划)--Java版
  • 【系统设计【4】】设计一个限流器:从理论到实践的完整解决方案
  • 【FreeRTOS实战】一章速通freertos含扩展MQTT,SD卡,
  • Java + Spring Boot + MyBatis 枚举变量传递给XML映射文件做判断
  • 6.17 note
  • 【AI News | 20250617】每日AI进展
  • JDBC强化关键_009_连接池
  • react 状态改变引发视图频繁更新,怎么优化
  • k均值聚类+成分分析降维+自编码器降维
  • Spring三层架构
  • VS和VS Code 对比和区别
  • Springboot整合ollama运行本地AI大模型
  • 利用Enigma Virtual Box将QT生成的软件打包成一个exe可执行文件
  • C++ map代码练习 1、2、priority_queue基础概念、对象创建、数据插入、获取堆顶、出队操作、大小操作,自定义结构、代码练习 1 2
  • Linux -- Ext系列文件系统介绍
  • 游戏引擎学习路径与技术栈指南
  • 建设游戏网站/长沙靠谱seo优化价格
  • 个人博客网站怎么建立/站长工具之家
  • 邯郸网站建设推广/seo关键词分析表
  • 网站做视频怎么赚钱的/小程序推广50个方法
  • 建设银行舟山分行网站/学网络与新媒体后悔死了
  • dw外部网站链接怎么做/大数据精准营销的策略