取消长时间运行的Elasticsearch任务超时

问题描述

我的_search请求逐渐变得越来越慢,直到504个网关超时。然后,我看到了数十个超长运行的indices:data/read/search任务,它们看不到尽头,因此我尝试使用POST _tasks/_cancel?actions=*search取消它们(请注意,我只有一个感兴趣的节点,因此不需要{ {1}}参数。

这仅导致另一个&node=...)任务被注册,现在甚至我的cancelGET _tasks请求都超时了。

我想知道是否有可能

  1. 为所有GET _cat/tasks?v个任务的running_time_in_nanos属性设置上限和/或自动取消所有超出的任务
  2. 强制取消任务,而不必在Tasks API本身超时的情况下重新启动ES服务

旁注:我已经有一个运行状况检查bash脚本

search

但是它没有考虑到以下事实:尽管根(if [ `curl -s -m 20 https://my-es-instance | grep "You KNow,for Search" | wc -l` -ne 1 ]; then echo "`date "+%F %T"` app not responding" &>> $my_log_file ... )可能正在运行,但GET /端点却没有。

这里的最佳做法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)