解决Elasticsearch索引只读(read-only)


原因为:es 的设置默认是 85% 和 90 %,95%

当为85%时:Elasticsearch不会将碎片分配给磁盘使用率超过85%的节点( cluster.routing.allocation.disk.watermark.low)

当为90%时:Elasticsearch尝试重新分配给磁盘低于使用率90%的节点(cluster.routing.allocation.disk.watermark.high)

当为85%时:Elasticsearch执行只读模块(cluster.routing.allocation.disk.watermark.flood_stage)

1、扩大磁盘或者删除部分历史索引

2、重置改只读索引快

某一个索引重置只读模块
PUT /twitter/_settings { "index.blocks.read_only_allow_delete": null }
所有索引重置只读模块
PUT /_all/_settings { "index.blocks.read_only_allow_delete": null }
PUT /_cluster/settings
{
  "persistent" : {
    "cluster.blocks.read_only" : false } }

修改默认设置

可以修改为具体的磁盘空间值,也可以修改为百分之多少
临时修改
PUT _cluster/settings { "transient": { "cluster.routing.allocation.disk.watermark.low": "100gb", "cluster.routing.allocation.disk.watermark.high": "50gb", "cluster.routing.allocation.disk.watermark.flood_stage": "10gb", "cluster.info.update.interval": "1m" } }
永久修改
PUT _cluster/settings { "persistent": { "cluster.routing.allocation.disk.watermark.low": "100gb", "cluster.routing.allocation.disk.watermark.high": "50gb", "cluster.routing.allocation.disk.watermark.flood_stage": "10gb", "cluster.info.update.interval": "1m" } }
 

转载自:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/disk-allocator.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM