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"

操作返回

{"acknowledged":true}


 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐