ALM-16007 Hive GC 时间超出阈值
告警解释
系统每60秒周期性检测Hive服务的GC时间,当检测到Hive服务的GC时间超出阈值(连续3次检测超过12秒)时产生该告警。用户可通过“运维 > 告警 > 阈值设置 > 待操作集群的名称 > Hive”修改阈值。当Hive GC时间小于或等于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
16007 |
重要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
主机名 |
产生告警的主机名。 |
Trigger condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
GC时间超出阈值,会影响到Hive数据的读写,可能导致任务执行变慢,甚至服务异常重启。
可能原因
该节点Hive实例内存使用率过大,或配置的堆内存不合理,导致进程GC频繁。
处理步骤
检查GC时间
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,选中“告警ID”为“16007”的告警,查看“定位信息”中的角色名并确定实例的IP地址。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Hive > 实例”,单击告警上报的HiveServer,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > GC”,勾选“HiveServer的GC时间” ,单击“确定”,查看GC时间是否大于12秒。
图1 定制HiveServer的GC时间
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Hive > 实例”,单击告警上报的MetaStore,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > GC”,勾选“MetaStore的GC时间” ,单击“确定”,查看GC时间是否大于12秒。
图2 定制MetaStore的GC时间
查看JVM的当前配置
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Hive > 配置”,选择“全部配置”, 选择“HiveServer/MetaStore > JVM”,将“HIVE_GC_OPTS/METASTORE_GC_OPTS”参数中“-Xmx”的值根据如下建议进行调整,并单击“保存”。
- HiveServer的GC参数配置建议
- 当Hive GC时间超出阈值时,将“-Xmx”值调整为默认值的2倍,比如:“-Xmx”默认设置为2G时,调整“-Xmx”的值为4G。
- 建议同时调节“-Xms”的值,使“-Xms”和“-Xmx”比值为1:2,这样可以避免JVM动态调整堆内存大小时影响性能。
- MetaServer的GC参数配置建议
- 当Meta GC时间超出阈值时,将“-Xmx”值调整为默认值的2倍,比如:“-Xmx”默认设置为2G时,调整“-Xmx”的值为4G。
- 建议同时调节“-Xms”的值,使“-Xms”和“-Xmx”比值为1:2,这样可以避免JVM动态调整堆内存大小时影响性能。
- HiveServer的GC参数配置建议
- 选择“更多 > 重启服务”重启服务。
在Hive服务重启期间,正在重启的实例无法对外提供服务,且对应实例上正在执行的SQL任务可能失败。
- 观察界面告警是否清除。
- 是,处理完毕。
- 否,执行7。
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无