文档首页/ MapReduce服务 MRS/ 用户指南(安卡拉区域)/ 告警参考/ ALM-43204 Elasticsearch实例进程垃圾回收(GC)时间超过阈值
更新时间:2024-11-29 GMT+08:00

ALM-43204 Elasticsearch实例进程垃圾回收(GC)时间超过阈值

告警解释

系统每60秒周期性检测Elasticsearch实例进程的垃圾回收(GC)占用时间,当检测到Elasticsearch实例进程的垃圾回收(GC)时间超出阈值时,产生该告警。

平滑次数为1,Elasticsearch实例进程垃圾回收(GC)时间小于或等于阈值时,告警恢复。平滑次数大于1,Elasticsearch实例进程垃圾回收(GC)时间小于或等于阈值的90%时,告警恢复。

告警属性

告警ID

告警级别

告警类型

业务类型

是否可自动清除

43204

重要(默认阈值为30000ms)

紧急(默认阈值为60000ms)

业务质量告警

Elasticsearch

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

附加信息

Trigger Condition

系统当前指标取值满足自定义的告警设置条件。

对系统的影响

Elasticsearch实例进程的垃圾回收时间过长,可能会影响Elasticsearch的索引数据读写性能变慢,严重情况下会出现请求超时。

可能原因

该节点Elasticsearch实例运行的业务负载高,或者堆内存配置不合理,导致进程GC频繁。

处理步骤

检查实例堆内存配置大小。

  1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警 > Elasticsearch进程GC时间超过阈值 > 定位信息”。查看告警上报的实例的IP地址。
  2. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Elasticsearch > 实例”,单击进入产生告警的实例页面,选择图标区域的“定制 > 清除全部 > 垃圾回收 > 实例GC统计时间”,单击“确定”,查看进程的GC时间是否持续大于阈值。
  3. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Elasticsearch”,进入Elasticsearch概述页面,单击左侧“配置”进入配置页面。
  4. 在配置页面右上方搜索框输入“GC_OPTS”单击页面将列出所有实例的“GC_OPTS”参数的配置项。
  5. 选中需要修改“GC_OPTS”值的实例,查看该实例值配置框后是否有查看差异化配置图标。

    • 是,执行6
    • 否,执行7

  6. 单击,在弹出的对话框中单击右侧单击确定保存。
  7. 将“GC_OPTS”参数值中的“-Xms”和“-Xmx”的值可参考如下说明进行调整。

    Elasticsearch实例的GC参数配置建议:

    • 建议将50%的内存留给Lucence缓存使用,50%的内存分配给Elasticsearch,对于大内存机器内存分配推荐30GB,不超过31GB,并确保JVM开启了指针压缩,可通过如下命令查询JVM的指针压缩是否开启:

      java -server -Xms28G -Xmx28G -XX:+UseConcMarkSweepGC -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode -version

      若返回的Compressed Oops mode是Zero based模式,则说明JVM指针压缩已开启,可增加所分配的内存大小:将28G调整为29G,再次查看指针压缩是否开启,直至分配的内存值是使指针压缩开启的最大值。

      若返回的Compressed Oops mode是Non-zero based模式,则说明JVM指针压缩未开启,需要减小所分配的内存大小:将28GB调整为27GB,再次查看指针压缩是否开启,直至分配的内存值是使指针压缩开启的最大值。

    • 建议“-Xms”和“-Xmx”设置成相同的值,这样可以避免JVM动态调整堆内存大小时影响性能。
    • 如果“机器内存的50%<实例数*30GB”,可根据实际情况分配。

      实例内 =(机器内存大小*0.5)/该机器上的实例数。

      例如:某机器内存大小128GB,该机器上安装了3个Elasticsearch实例,则GC_OPTS参数应为(128GB*0.5)/3=21GB,并确保此时JVM指针压缩已开启。

  8. 修改完成后单击左上方“保存”在弹出的保存配置页单击“确定”保存配置。
  9. 在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务 > Elasticsearch > 实例”,勾选配置状态为“配置过期”的实例,重启受影响的Elasticsearch实例。
  10. 等待5分钟观察界面告警是否清除。

    • 是,操作结束。
    • 否,执行11

收集故障信息。

  1. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”中勾选待操作集群的“Elasticsearch”。
  3. 单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  4. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

不涉及。