ElasticSearch search queen size is too high

我们有两个ElasticSearch集群用于提供文档索引和搜索服务,其中一个20个结点的大集群用于存储全量数据,一个12个结点的小集群用于存储近一个周数据,ES2即该小集群。

1 问题描述

ES2-1 CPU负载偏高,search队列积压,集群查询速度过慢。

1.1 CPU负载偏高,search队列积压

ES2-1

ES2-1

ES2-1 search queue size较其他节点偏高。
ES2-1-search

ES2-2

ES2-2

1.2 查询速度

查询在50s以上

186

187

1.3 后台日志

2月4日起,indexing和search slowlog量增大。

slowlog

es_peony_sindex2_index_indexing_slowlog.log.2016-02-14

indexing_slowlog

es_peony_sindex2_index_search_slowlog.log.2016-02-14

index.search.slowlog.query

2 解决方案

下架ES2-1,杀掉该节点ES进程。

2.1 查询速度

3 事后分析

  1. 重启ES2-1不能解决问题,重启后待数据均衡,该节点依然成为瓶颈,故考虑暂时下架处理。
  2. 青云表示物理主机cpu负荷正常,系该虚拟主机内部进程有关。
  3. 猜测可能与批量新索引创建导致队列阻塞。2月4日后开始出现indexing_slowlog。

4 Fixed!

2月17日晨,格式化ES2-1的磁盘,当作全新结点重新启动ES,恢复正常。

参考

http://kibana.logstash.es/content/elasticsearch/performance/cluster-state.html

Comments