当前位置: 首页 > 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.dtcms.com/a/266292.html

相关文章:

  • windows安装ELK
  • Nginx 的安装部署
  • Web后端开发(事务管理、AOP)
  • 倾斜摄影无人机飞行航线规划流程详解
  • 无人机Ku相控阵卫星通信系统技术说明
  • jQuery Mobile 安装使用教程
  • 高可扩展属性建模设计:架构师的全局思考与落地方案
  • 云原生AI研发体系建设路径
  • PaddleOCR独立服务:高效OCR一站式解决方案
  • 简述MCP的原理-AI时代的USB接口
  • 如何把一台手机的屏幕投到另一台手机上
  • Perforce QAC 与 Klocwork 重磅升级:质量突破+许可降本
  • 【VScode | 格式化文档】一文掌握VScode使用 clang-format 的文档格式化(C/C++)
  • 文心大模型及百度大模型内容安全平台齐获信通院大模型安全认证
  • 微信小程序如何实现再多个页面共享数据
  • 机器学习中的数学---常用距离计算方法详解
  • 通过 Ansys Discovery CFD 仿真探索电池冷板概念
  • 睿尔曼系列机器人——以创新驱动未来,重塑智能协作新生态(下)
  • 【IM项目笔记】1、WebSocket协议和服务端推送Web方案
  • 在 Ubuntu 22.04 上使用 Minikube 部署 Go 应用到 Kubernetes
  • 商品中心—19.库存分桶高并发的优化文档
  • element-plus按需自动导入的配置 以及icon图标不显示的问题解决
  • Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
  • ubuntu22桌面版中文输入法 fcitx5
  • goole chrome变更默认搜索引擎为百度
  • MySQL(116)如何监控负载均衡状态?
  • 如何调节笔记本电脑亮度?其实有很多种方式可以调整亮度
  • Linux中容器文件操作和数据卷使用以及目录挂载
  • Oracle CTE递归实现PCB行业的叠层关系
  • 缓存雪崩、穿透、预热、更新与降级问题与实战解决方案