Elasticsearch报错read_only_allow_delete


本来项目跑到好好的,今天ElasticsearchTemplate添加和修改索引的时候出现报错,read_only_allow_delete
浏览器打开es,查看es索引信息会发现多了一个"read_only_allow_delete":"true"

 

 

原因

1. 内存不足

JVMMemoryPressure 超过92%并持续30分钟时,ES触发保护机制,并且阻止写入操作,以防止集群达到红色状态,启用写保护后,写入操作将失败,并且抛出 ClusterBlockException ,无法创建新索引,并且抛出 IndexCreateBlockException ,当五分钟内恢复不到88%以下时,将禁用写保护。

2. 磁盘空间不足

es的默认磁盘水位警戒线是85%,一旦磁盘使用率超过85%,es不会再为该节点分配分片,es还有一个磁盘水位警戒线是90%,超过后,将尝试将分片重定位到其他节点。

解决方案

1. 磁盘扩容

2. 删除无用索引

3. 将旧索引的副本数调小

4. 增加数据节点

5. 手动将 index.blocks.read_only_allow_delete 改成false

read_only_allow_delete属性

此属性为true时,ES索引只允许读和删数据,不允许增和改数据

1. 查看指定索引的设置信息

curl -XGET http://127.0.0.1:9200/blog/_settings?pretty

当索引不能增和改时,通过此命令,可以看到read_only_allow_delete为true

2. 把read_only_allow_delete设置为false

curl -XPUT -H "Content-Type: application/json" http://127.0.0.1:9200/blog/_settings -d '{"index.blocks.read_only_allow_delete": null}'
或者使用复合查询

 

 


再次查看es索引信息,发现
"read_only_allow_delete":"true"已经没有了,此时就可以正常修改和添加es数据了

 

 

 




免责声明!

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



猜您在找 ElasticSearch6 报错FORBIDDEN/12/index read-only / allow delete (api) ELK elasticsearch 因磁盘爆满导致无法 FORBIDDEN/12/index read-only / allow delete (api) ElasticSearch、Logstash管理和监控——blocked by: [FORBIDDEN/12/index read-only / allow delete (api)] kibana报[FORBIDDEN/12/index read-only / allow delete (api)]错误 解决Elasticsearch索引只读(read-only) Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法 [one day one question] webpack 打包报错 Cannot assign to read only property 'exports' of object '#' Git报错:error: cannot open .git/FETCH_HEAD: Read-only file system 【bug】【yii】配置log时,报错 Setting read-only property: yii\web\Application::log vue运行报错error:Cannot assign to read only property 'exports' of object '#'
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM