在一个稳定运行的功能中,突然收到报错。经查明,是在向 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 为例