在过去的日子里,我们的es7.4集群(4个节点)经常会出现读取超时,并且在运行某些管理命令时变得越来越慢。在此之前,它已经运行了一年多没有任何麻烦。例如,/\u cat/nodes昨天花了2分钟执行,今天已经花了4分钟。服务器负载很低,内存使用似乎很好,不确定要进一步查看哪里。
使用opster.com在线工具,我设法得到一些提示,说明管理队列的大小很高,但是在执行建议的命令进行调查时,除了命令需要很长时间才能给出结果外,我没有看到任何异常:
$ curl "http://127.0.0.1:9201/_cat/thread_pool/management?v&h=id,active,rejected,completed,node_id"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 345 100 345 0 0 2 0 0:02:52 0:02:47 0:00:05 90
id active rejected completed node_id
JZHgYyCKRyiMESiaGlkITA 1 0 4424211 elastic7-1
jllZ8mmTRQmsh8Sxm8eDYg 1 0 4626296 elastic7-4
cI-cn4V3RP65qvE3ZR8MXQ 5 0 4666917 elastic7-2
TJJ_eHLIRk6qKq_qRWmd3w 1 0 4592766 elastic7-3
如何调试/解决此问题?提前谢谢。
1条答案
按热度按时间1bqhqjot1#
如果你注意到
elastic7-2
节点在管理队列中有5个活动请求,这是非常高的,因为管理队列本身的容量只有5个,并且它只用于很少的操作(管理,而不是搜索/索引)。您可以在elasticsearch中查看opster关于各种线程池和线程池的文章,以供进一步阅读。