Elasticsearch 发布文件:FORBIDDEN/12/index 只读/允许删除 (api)]

Elasticsearch posting documents : FORBIDDEN/12/index read-only / allow delete (api)]

运行 Elasticsearch 版本 7.3.0,我 post 在我的索引中编辑了 5000 万个文档。当尝试 post 更多文档到 Elasticsearch 时,我不断收到此消息:

响应码:403cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)];

超过磁盘水印

我有 40 GB 的可用数据和扩展磁盘 space 但仍然不断出现此错误

对可能导致此问题的原因有任何想法吗?

您一定已经中了 floodstage watermark at 95%。从这里去哪里:

  1. 可用磁盘 space(您似乎已经这样做了)。
  2. 可选择更改默认设置。 400GB 的 5% 对于阻止写入操作来说可能有点过于激进。您可以为此使用百分比或绝对值——这只是一个示例,您可能想要选择不同的值:

    PUT _cluster/settings
    {
      "transient": {
        "cluster.routing.allocation.disk.watermark.low": "5gb",
        "cluster.routing.allocation.disk.watermark.high": "2gb",
        "cluster.routing.allocation.disk.watermark.flood_stage": "1gb",
        "cluster.info.update.interval": "1m"
      }
    }
    
  3. 您必须重置索引阻塞(每个受影响的索引或在全局级别 all):

    PUT /_all/_settings
    {
      "index.blocks.read_only_allow_delete": null
    }
    

顺便说一句,在 7.4 中这将发生变化:一旦你开始 below the high watermark, the index will unlock automatically