1、问题背景
线上环境有3台8G内存的服务器搭建的ES集群系统。ES采用CMS垃圾回收器。
2、问题现象
(1)ES查询服务偶尔会出现超时现象,日志中有“node of configured nodes were available”;
(2)一段时间后,ES部分节点会挂掉,整个ES集群的状态由绿色变成黄色;
(3)重启后,ES恢复正常,运行一段时间后会出现(2)的现象。
3、问题分析
(1)ES集群提供的查询服务,非常消耗内存,所以首先想到的就是8G内存无法支撑我们系统千万级别的数据查询。
(2)登陆系统查看报错,有关于垃圾回收的日志如下。
[2021-08-02 10:18:14,037][INFO ][monitor.jvm ] [IPADDRS-9300] [gc][young][216907][612] duration [765ms], collections [1]/[1.7s], total [765ms]/[57.6s], memory [4.9gb]->[4.9gb]/[7.9gb], all_pools {[young] [190.8mb]->[5mb]/[266.2mb]}{[survivor] [33.2mb]->[33.2mb]/[33.2mb]}{[old] [4.6gb]->[4.9gb]/[7.6gb]}
[2021-08-02 10:19:05,077][INFO ][monitor.jvm ] [IPADDRS-9300] [gc][young][216958][616] duration [718ms], collections [1]/[1s], total [718ms]/[59.8s], memory [5.8gb]->[5.8gb]/[7.9gb], all_pools {[young] [263.5mb]->[4.7mb]/[266.2mb]}{[survivor] [33.2mb]-

本文针对ES集群在8G内存服务器上出现查询超时和服务不可用的问题进行深入分析,并提出了解决方案。通过调整年轻代和老年代的内存分配比例,有效缓解了因频繁垃圾回收导致的服务中断。

10万+

被折叠的 条评论
为什么被折叠?



