应用系统在更新或者插入elasticsearch的时候报错
TOO_MANY_REQUESTS/12/disk usage excee ded flood-stage watermark, index has read-only-allow-delete block
看错误信息大意是要操作的索引是只读的,不能进行插入或删除。
原因是当Elasticsearch所在磁盘占用大于等于95%时,Elasticsearch会把所有相关索引自动置为只读。(Elasticsearch官方文档有介绍)
解决方案有两种:
1.清理磁盘,使占用低于95%。
2.根据官方文档调整自动锁阀值
建议采用第一种,注意解决之后,需要手动把被锁的索引的只读模式关闭。
按照官档去关闭只读模式
curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_cluster/settings -d '{ "transient": { "cluster.routing.allocation.disk.threshold_enabled": false } }'
curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
通过Kibana查看配置信息:文章来源:https://www.toymoban.com/news/detail-735121.html
GET /_cluster/settings
{
"persistent" : { },
"transient" : {
"cluster" : {
"routing" : {
"allocation" : {
"disk" : {
"threshold_enabled" : "false"
},
"enable" : "all"
}
}
}
}
}
问题解决
在生产环境中,还是要定时巡检服务器状态, 尤其 是系统盘,数据的存储还是尽量放到挂载的大硬盘下。文章来源地址https://www.toymoban.com/news/detail-735121.html
到了这里,关于Elasticsearch磁盘占用大于95% 导致索引自动置为只读的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!