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

怎么处理[TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark

这个错误说明 Elasticsearch 的磁盘空间严重不足,已触及最高级别(flood-stage)的水位线。作为自我保护机制,Elasticsearch ​自动将受影响的索引设置为只读模式 (read-only-allow-delete)​,从而阻止写入操作(包括索引新数据),只允许删除操作。核心原因在于节点磁盘空间不足。以下是完整解决步骤:


1. ​确认磁盘使用状况

# 查看各节点磁盘使用率(ES API)
GET _cat/allocation?v&h=node,disk.percent,disk.used,disk.avail,disk.total,shards# 系统级检查(在ES节点服务器执行)
df -h                # 查看所有挂载点空间
du -sh /path/to/es/data/*  # 定位大索引目录

2. ​紧急释放磁盘空间

优先选项:通过ES API删除数据
# 删除指定索引(谨慎操作!)
DELETE /old_index-2020-*# 使用Curator工具自动化清理(推荐)
curator_cli --host 127.0.0.1 delete_indices --filter_list '[{"filtertype": "age","source": "creation_date","direction": "older","unit": "days","unit_count": 30},{"filtertype": "pattern","kind": "prefix","value": "logs-"}
]'
次选选项:清理ES日志 & 临时文件
# 删除ES日志(调整logging.yml避免过大日志)
rm /var/log/elasticsearch/*.log.* # 清理系统临时文件
sudo apt-get clean          # Debian/Ubuntu
sudo yum clean all          # CentOS/RHEL
journalctl --vacuum-size=100M  # 清理journal日志
⚠️ 危险操作(仅在绝对必要时)
# 手动删除索引文件(可能导致数据损坏)
# 先关闭ES服务!然后删除大索引目录
systemctl stop elasticsearch
rm -rf /data/elasticsearch/nodes/0/indices/old_index-2020-*
systemctl start elasticsearch

3. ​临时解除索引只读阻塞

操作前确保已释放足够空间(建议超过low水位线)。

PUT /.async-search/_settings
{"index.blocks.read_only_allow_delete": null
}

4. ​调整ES磁盘水位线

elasticsearch.yml中设置更合理的阈值(根据实际磁盘容量调整):

# 紧急水位线(默认95%)
cluster.routing.allocation.disk.watermark.flood_stage: 90% # 高水位线(默认90%)
cluster.routing.allocation.disk.watermark.high: 85%  # 低水位线(默认85%)
cluster.routing.allocation.disk.watermark.low: 80%   

重启ES节点​ 或 使用动态设置:

PUT _cluster/settings
{"transient": {"cluster.routing.allocation.disk.watermark.low": "80%","cluster.routing.allocation.disk.watermark.high": "85%","cluster.routing.allocation.disk.watermark.flood_stage": "90%","cluster.info.update.interval": "1m"  # 检查磁盘频率}
}

5. ​长期预防措施

措施操作
监控告警配置Prometheus + Grafana监控磁盘空间,设置85%使用率告警阈值
定期维护使用ILM (Index Lifecycle Management) 自动滚动删除旧索引
扩容磁盘单节点扩展磁盘 或 增加新数据节点
配置备份使用Snapshot & Restore 备份到S3/NFS,定期删除本地旧快照
冷热架构部署热节点(SSD)+ 冷节点(大容量HDD),通过index.routing.allocation迁移数据

处理流程总结

关键建议:​​ 始终保留至少 ​20% 的磁盘空闲空间,避免ES触发自我保护。定期清理旧数据 比 被动处理磁盘满 更可靠!🚀

http://www.lryc.cn/news/579872.html

相关文章:

  • 通道密度与安全性的突破:SiLM5768LCG-DG 六通道互锁隔离器如何重构高可靠系统?
  • Unity HDRP + Azure IoT 的 Python 后端实现与集成方案
  • 使用assembly解决jar包超大,实现依赖包、前端资源外置部署
  • linux 系统已经部署并正常提供服务的docker存储目录迁移
  • 【Prometheus 】通过 Pushgateway 上报指标数据
  • 每天一个前端小知识 Day 21 - 浏览器兼容性与 Polyfill 策略
  • AI+Web3:从Web2到Web3的范式革命与深度技术实践
  • 开源项目XYZ.ESB:数据库到数据库(DB->DB)集成
  • lsblk 显示磁盘(如 /dev/sda)已变大,但分区(如 /dev/sda2)未变,则需要手动调整
  • 微服务架构的演进:迈向云原生
  • 【C++】访问者模式中的双重分派机制详解
  • 【效率提升教程】飞书自动化上传图片和文字
  • jQuery Mobile 安装使用教程
  • 《新消费模式与消费者权益保护研讨会》课题研讨会在北京顺利召开
  • 【嵌入式ARM汇编基础】-ELF文件格式内部结构详解(四)
  • 状态机管家:MeScroll 的交互秩序维护
  • 智能电动汽车 --- 车辆网关路由缓存
  • SAP SD模块之业务功能剖析
  • 京东小程序JS API仓颉改造实践
  • 「AI产业」| 《中国信通院华为:智能体技术和应用研究报告》
  • 【加解密与C】对称加密(四) RC4
  • K8s服务发布基础
  • LiteHub中间件之限流实现
  • git教程-pycharm使用tag打标签
  • 【JavaEE】计算机工作原理
  • 【IM项目笔记】1、WebSocket协议和服务端推送Web方案
  • Angular v20版本正式发布
  • Unity 中相机大小与相机矩形大小的关系
  • Android 网络请求优化全面指南
  • rs-agent论文精读