目前发现了一个很奇怪的现象,产生慢查询。 部署了elasticsearch 7.4版本的集群,集群大概20台服务器,每台机器上启动3个节点,启动内存占用30G,服务器配置很高,都是相同配置的。
索引是按照天生成,比如 access-log-2023.07.31 。索引大小大约为1T数据。
目前发现的问题是,当使用Kibana的 discover查看索引数据时会偶尔出现慢查询问题,比如查看最近2天的数据,有时候就会卡在某个机器的shard上,一直等到请求体中的 "timeout"设置的"120000ms",这个shard才会响应。一个索引中,有的节点分片用30秒就能返回,有的分片会用2分钟(一直等到120s,但是还是可以响应,打印出完整的慢查询日志)。当我把慢的shard迁移到其他服务器,查询就会变快,再迁移回原节点,查询可能也会正常,感觉像是激活了这个shard的。ES所有节点的日志都没有报错,只有慢查询日志。
各位大神是否遇到过这种奇怪的现象?是什么原因造成的
索引是按照天生成,比如 access-log-2023.07.31 。索引大小大约为1T数据。
目前发现的问题是,当使用Kibana的 discover查看索引数据时会偶尔出现慢查询问题,比如查看最近2天的数据,有时候就会卡在某个机器的shard上,一直等到请求体中的 "timeout"设置的"120000ms",这个shard才会响应。一个索引中,有的节点分片用30秒就能返回,有的分片会用2分钟(一直等到120s,但是还是可以响应,打印出完整的慢查询日志)。当我把慢的shard迁移到其他服务器,查询就会变快,再迁移回原节点,查询可能也会正常,感觉像是激活了这个shard的。ES所有节点的日志都没有报错,只有慢查询日志。
各位大神是否遇到过这种奇怪的现象?是什么原因造成的
5 个回复
kin122
赞同来自:
Charele - Cisco4321
赞同来自:
就是说,你排除了是由于查询的复杂,或者数据量大的这些原因,是吗?
看看在慢的时候,ES节点上有没有相关的错误或者警告的日志呢?
单从你描述的来看,看不出原因
I_Like
赞同来自:
那么就需要监控案发时,该节点的资源情况
有用的信息太少了,没法直接判断问题原因
God_lockin
赞同来自:
1. 堆栈、CPU等基础配置以及事故索引的配置、索引
* 之前出现过某个节点的配置写错了,节点配置和索引配置都和其他人不一样
2. 故障发生的时候的io/内存
3. 用_tasks接口检查一下当时节点在做什么
yangmf2040
赞同来自: