我是Elasticsearch的新手,遇到了一个问题,甚至在故障排除方面也遇到了困难。我的Elasticsearch(1.1.1)当前正在使CPU处于运行状态,即使没有进行搜索或建立索引也是如此。 CPU使用率并不总是100%,但是它跳了很多,并且负载很高。

以前,该节点上的索引可以完美运行几个月,没有任何问题。这只是今天开始的,我不知道是什么原因造成的。

即使我重新启动ES之后,问题仍然存在,甚至我甚至在绝望中重新启动服务器。对这个问题没有影响。

这里有一些统计数据可以帮助解决问题,但我想还有更多需要的信息。我只是不确定要提供什么。

Elasticsearch 1.1.1
Gentoo Linux 3.12.13
Java版本“1.6.0_27”
OpenJDK运行时环境(IcedTea6 1.12.7)(Gentoo版本1.6.0_27-b27)
OpenJDK 64位服务器VM(内部版本20.0-b12,混合模式)

1个节点,5个分片,0个副本

系统上有32GB RAM,16GB专用于Elasticsearch
RAM似乎不是这里的问题。

解决问题的任何技巧将不胜感激。

编辑:如果有帮助,请从顶部开始。

top - 19:56:56 up  3:22,  2 users,  load average: 10.62, 11.15, 9.37
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s): 98.5 us,  0.6 sy,  0.0 ni,  0.7 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:  32881532 total, 31714120 used,  1167412 free,   187744 buffers
KiB Swap:  4194300 total,        0 used,  4194300 free, 12615280 cached

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 2531 elastic+  20   0  0.385t 0.020t 3.388g S 791.9 64.9 706:00.21 java

最佳答案

正如安迪·普赖尔(Andy Pryor)所提到的,后台合并可能是导致此问题的原因。我们的索引过渡已暂停,当前的两个索引超过200GB。将它们滚动显示似乎已解决了该问题,此后我们一直在嗡嗡作响。

编辑:
确定看似闲置时的高负载是由几个非常大的索引合并而成的,这些合并每周都不进行。这是内部流程无法每周滚动索引的失败。解决了这一疏忽之后,合并时间变短了,高负荷消退了。

07-24 09:47
查看更多