es删除报错 blocked by [FORBIDDEN8index write (api)]

前言

这是我在这个网站整理的笔记,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱

es删除报错

      • 问题
      • 问题原因
      • 解决办法

参考文章

问题

错误:index [xxxx] blocked by: [FORBIDDEN/8/index write (api)];

我使用postman执行删除文档操作 DELETE: http://ip:9200/索引名/_doc/文档ID

es删除报错 blocked by [FORBIDDEN8index write (api)]_第1张图片

问题原因

内存不足

当 JVMMemoryPressure 指标超过 92% 持续 30 分钟时,Amazon ES 会触发保护机制并阻止所有写入操作,以防止集群达到红色状态。当保护打开时,写入操作会失败并出现 ClusterBlockException 错误,无法创建新索引,并引发 IndexCreateBlockException 错误。

当 JVMMemoryPressure 指标在五分钟内返回到 88% 或更低时,保护将被禁用,并且对集群的写入操作将被解除阻止。

磁盘空间不足

Elasticsearch 默认的“低水位线”为 85%,这意味着一旦磁盘使用率超过 85%,Elasticsearch 就不再向该节点分配分片。Elasticsearch 的默认“高水位线”为 90%,此时它会尝试将分片重新定位到其他节点

我的问题

我使用graylog存储日志,如果他到达一定的存储量了之后就会新创建一个索引,另一个索引相当于归档了,只能进行查询操作。所以我想删除security_log_0 里面的某个文档就报错了

es删除报错 blocked by [FORBIDDEN8index write (api)]_第2张图片

我们可以通过api去查看,发现有个index.blocks.writetrue,我们将他改为false就可以

http://ip:9200/索引名

es删除报错 blocked by [FORBIDDEN8index write (api)]_第3张图片

解决办法

index.blocks.write改为false就可以

http://ip:9200/索引名/_settings

{
    "index": {
        "blocks": {
            "write": "false"
        }
    }
}

image-20230912162347840

然后我们在删除就能够成功了

es删除报错 blocked by [FORBIDDEN8index write (api)]_第4张图片

作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接。

你可能感兴趣的:(elasticsearch,elasticsearch,jenkins,大数据)