ELK折腾小记之 es 报错TOO_MANY_REQUESTS 429

/ 默认分类 / 0 条评论 / 357 浏览

本站的所有程序和文章,仅限用于学习和研究目的;不得用于商业或者非法用途,否则,一切后果请用户自负!!

起因

elk同事插入大量数据,导致短时间内的请求次数过多引起ES内存超过限制,报错 429 _TOO_MANY_REQUESTS_请求过多。

一、优化 es

首先排查如下两点

  1. 检查硬件资源如 cpu 和内存是否已经跑满
  2. es 的存储空间是否跑满(特别是虚拟机)

上面两点排除之后,再用如下方案:
注意:适用于cpu和内存占用都很低,然后就报错了,或者跑一会就报错。

我喜欢用 elasticsearch-head这个工具。

image-20240225202240611

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


PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.disk.watermark.low": "90%",
    "cluster.routing.allocation.disk.watermark.high": "95%",
    "cluster.routing.allocation.disk.watermark.flood_stage": "97%"
  }
}

PUT */_settings?expand_wildcards=all
{
  "index.blocks.read_only_allow_delete": null
}

二、优化 logstash

编辑配置文件logstash.yml,配置插入速度,如下配置根据具体情况调整

pipeline.workers: 4  

pipeline.batch.size: 50

本文最后编辑时间为: 2024-02-25

如本文对你有帮助,点击广告支持一下吧,创造不易。

safe6