文档首页/ MapReduce服务 MRS/ 用户指南(安卡拉区域)/ 告警参考/ ALM-16005 Hive服务进程堆内存使用超出阈值
更新时间:2024-11-29 GMT+08:00

ALM-16005 Hive服务进程堆内存使用超出阈值

告警解释

系统每30秒周期性检测Hive堆内存使用率,并把实际的Hive堆内存使用率和阈值相比较。当Hive堆内存使用率超出阈值时产生该告警。

用户可通过“运维 >告警 > 阈值设置 > 待操作集群的名称 > Hive”修改阈值。

当Hive堆内存使用率小于或等于阈值时,告警恢复。

告警属性

告警ID

告警级别

告警类型

业务类型

是否可自动清除

16005

MRS 3.3.0之前版本:重要(默认阈值为95%)

MRS 3.3.0及之后版本:

紧急(默认阈值为95%)

重要(默认阈值为85%)

业务质量告警

Hive

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

附加信息

Trigger Condition

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

对系统的影响

Hive堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。

可能原因

该节点Hive实例堆内存使用量过大,或分配的堆内存不合理,导致使用率超过阈值。

处理步骤

检查堆内存使用率。

  1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,选中“告警ID”为“16005”的告警,查看“定位信息”中的角色名并确定实例的IP地址。

    • 告警上报的角色是HiveServer,执行2
    • 告警上报的角色是MetaStore,执行3

  2. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Hive > 实例”,单击告警上报的HiveServer,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > CPU和内存”,勾选“HiveServer内存使用率统计”,单击“确定”,查看HiveServer进程使用的堆内存是否已达到HiveServer进程设定的最大堆内存的阈值(默认95%)。

    • 是,执行4
    • 否,执行7

  3. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Hive > 实例”,单击告警上报的MetaStore,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > CPU和内存”,勾选“MetaStore内存使用率统计”,单击“确定”,查看MetaStore进程使用的堆内存是否已达到MetaStore进程设定的最大堆内存的阈值(默认95%)。

    • 是,执行4
    • 否,执行7

  4. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Hive > 配置”,选择“全部配置”,选择“HiveServer/MetaStore > JVM”,将“HIVE_GC_OPTS/METASTORE_GC_OPTS”参数中“-Xmx”的值根据如下建议进行调整,并单击“保存”。

    1. HiveServer的GC参数配置建议
      • 当HiveServer进程使用的堆内存已达到HiveServer进程设定的堆内存的阈值时,将“-Xmx”值调整为默认值的2倍,比如:“-Xmx”默认设置为2G时,调整“-Xmx”的值为4G。在FusionInsight Manager首页,选择“运维 > 告警 > 阈值设置 > 待操作集群名称 > Hive > CPU和内存 > HiveServer堆内存使用率统计 (HiveServer)”,可查看“阈值”。
      • 建议同时调节“-Xms”的值,使“-Xms”和“-Xmx”比值为1:2,这样可以避免JVM动态调整堆内存大小时影响性能。
    2. MetaServer的GC参数配置建议
      • 当MetaStore进程使用的堆内存已达到MetaStore进程设定的堆内存的阈值时,将“-Xmx”值调整为默认值的2倍,比如:“-Xmx”默认设置为2G时,调整“-Xmx”的值为4G。在FusionInsight Manager首页,选择“运维 > 告警 > 阈值设置 > 待操作集群名称 > Hive > CPU和内存 > MetaStore堆内存使用率统计 (MetaStore)”,可查看“阈值”。
      • 建议同时调节“-Xms”的值,使“-Xms”和“-Xmx”比值为1:2,这样可以避免JVM动态调整堆内存大小时影响性能。

  5. 选择“更多 > 重启服务”重启服务。
  6. 观察界面告警是否清除。

    • 是,处理完毕。
    • 否,执行7

收集故障信息。

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

告警清除

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

参考信息

不涉及。