elasticsearch无法写入数据
原创
©著作权归作者所有:来自51CTO博客作者比特空间的原创作品,请联系作者获取转载授权,否则将追究法律责任
elasticsearch 报错
2021-09-03 14:37:35#error check_history :AuthorizationException(403, u'cluster_block_exception', u'blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];')
2021-09-03 14:37:35#Error2:AuthorizationException(403, u'cluster_block_exception', u'blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];')
提示说操作的index 变为只读,什么情况,之前明明是可以写入的,并且也没有修es配置怎么就变成只读?
那么查看设置(以本机部署9200为例):
curl -GET 'localhost:9200/my_index/_settings?pretty'
得到如下
{
"sensorip" : {
"settings" : {
"index" : {
"number_of_shards" : "5",
"blocks" : {
"read_only_allow_delete" : "true"
},
"provided_name" : "my_index",
"creation_date" : "1629352759087",
"number_of_replicas" : "1",
"uuid" : "YXLhaUM6SSKRQo8mq137kw",
"version" : {
"created" : "6020399"
}
}
}
}
}
这里可以看到这个index相关的block变成只读
"blocks" : {
"read_only_allow_delete" : "true"
},
当Elasticsearch所在磁盘占用大于等于95%时,Elasticsearch会把所有相关索引自动置为只读。(Elasticsearch官方文档有介绍),但是把这块磁盘的空间释放出来,es中这个index相关的还是只读。
解决方案:
1.清理磁盘,使占用低于95%。
2.调整自动锁阀值,官方文档中有详尽方法。
curl -XPUT '127.0.0.1:9200/sensorip/_settings' -d '{"index.blocks.read_only_allow_delete": null}' -H "Content-Type: application/json;charset=UTF-8"
操作返回