美文网首页问题
Elasticsearch TOO_MANY_REQUESTS

Elasticsearch TOO_MANY_REQUESTS

作者: musk | 来源:发表于2022-09-16 14:09 被阅读0次

    ES插入大量的数据时报错:TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block 的解决方法
    原因:
    是因为一次请求中批量插入的数据条数巨多,以及短时间内的请求次数巨多引起ES节点服务器内存超过限制,ES主动给索引上锁。
    解决方法:

    PUT _all/_settings
    {
    "index.blocks.read_only_allow_delete": null
    }
    解决
    紧急给Elasticsearch的硬盘扩容,扩容完毕后执行以下语句关闭索引的只读状态:

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

    如果来不及给Elasticsearch硬盘扩容,可以先关闭磁盘分配保护,让最后仅有的5%的磁盘空间缓冲一点时间,然后再给硬盘扩容。

    关闭磁盘分配保护

    PUT _cluster/settings
    {
    "transient": {
    "cluster.routing.allocation.disk.threshold_enabled": false
    }
    }

    关闭索引的只读状态

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

    ! this request accesses system indices: [.apm-agent-configuration, .apm-custom-link, .async-search, .kibana_1, .kibana_7.12.0_001, .kibana_task_manager_1, .kibana_task_manager_7.12.0_001, .reporting-2019.12.01, .reporting-2020.11.08, .reporting-2020.12.06, .reporting-2021-11-07, .security-7, .tasks], but in a future major version, direct access to system indices will be prevented by default

    {
    "acknowledged" : true
    }

    磁盘扩容完毕后,启用磁盘分配保护

    PUT _cluster/settings
    {
    "transient": {
    "cluster.routing.allocation.disk.threshold_enabled": true
    }
    }

    ————————————————
    版权声明:本文为CSDN博主「piaoxue820」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/piaoxue820/article/details/123638653

    相关文章

      网友评论

        本文标题:Elasticsearch TOO_MANY_REQUESTS

        本文链接:https://www.haomeiwen.com/subject/ejyjortx.html