es 剩余磁盘空间达到es最小值,添加数据被block

剩余磁盘空间达到es最小值,添加数据被block

PUT _all/_settings
{"index.blocks.read_only_allow_delete": null}

解除每次search最大10000size的限制
PUT [xxx]/_settings
{
"max_result_window" : 20000
}
删除单个index全部内容

DELETE /new_listings_investment
{ "query": { "match_all": {} } }

 

ElasticSearch 索引 read-only 状态恢复

最近在做 ES 压测,当磁盘快满时,所有索引会进入 read-only 状态。数据无法继续写入,索引无法关闭,只能删除索引。ES 官方文档中对此种情况进行了说明.

如果使用 ES 的默认设置,ES 为了保持节点可用,设置了几个存储的安全值。分别为:

cluster.routing.allocation.disk.watermark.low: 默认 85% 当达到时,replica 不再写入 
cluster.routing.allocation.disk.watermark.high: 默认 90% 当达到时,shards 会尝试写入其他节点
cluster.routing.allocation.disk.watermark.flood_stage: 默认 95% 当达到时,所有索引变为 readonly状态

所以遇到 read-only 状态应该先检查磁盘是否快满了,此处可用通过 ES 日志查看。在释放空间后,需要手动将每个索引的状态修改过来,可以通过

 

put http://10.75.13.18:9200/_cluster/settings

{
"transient": {
"cluster.routing.allocation.disk.watermark.flood_stage": "98%"
}
}
1
2
3
4
5
修改索引的配置
put http://10.75.13.18:9200/xxx/_settings

{
"index.blocks.read_only_allow_delete": null
}

posted @   滴滴滴  阅读(4778)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2017-12-26 shell 并发进程的例子
点击右上角即可分享
微信分享提示