Elasticsearch磁盘占用大于95%时将所有索引置为只读

一个稳定运行的功能忽然收到报错,查明原因是在向Elasticsearch中插入文档时报错:

AuthorizationException: AuthorizationException(403, u'cluster_block_exception', u'blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];')

网上也有其他人报TransportError:

TransportError(403, u'cluster_block_exception', u'blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];')

看错误信息大意是要操作的索引是只读的,不能进行插入或删除。
可是这个索引自从创建,从来也没有修改过配置,为什么忽然报错呢?
从stackoverflow上查到,当Elasticsearch所在磁盘占用大于等于95%时,Elasticsearch会把所有相关索引自动置为只读。(Elasticsearch官方文档有介绍)

那么查看设置(以本机部署9200为例):

curl -GET 'localhost:9200/index_name/_settings?pretty'

返回信息:

{
  "index_name" : {
    "settings" : {
      "index" : {
        "number_of_shards" : "5",
    

你可能感兴趣的:(elasticsearch,运维,搜索引擎,大数据,全文检索)