告警解释
系统每30秒周期性检测HBase服务堆内存使用状态,当检测到HBase服务堆内存使用率超出阈值(最大内存的90%)时产生该告警。
说明若集群启用了多实例功能且安装了多个HBase服务,请根据“定位信息”的“服务名”值来确定具体产生告警的HBase服务。例如HBase1服务不可用,则“定位信息”中显示服务名=HBase1,处理步骤中的操作对象也应由HBase调整为HBase1。
告警属性
告警ID | 告警级别 | 是否自动清除 |
---|---|---|
19008 | 重要 | 是 |
告警参数
参数名称 | 参数含义 |
---|---|
来源 | 产生告警的集群名称。 |
服务名 | 产生告警的服务名称。 |
角色名 | 产生告警的角色名称。 |
主机名 | 产生告警的主机名。 |
对系统的影响
HBase可用内存不足,可能会造成内存溢出导致服务崩溃。
可能原因
该节点HBase服务堆内存使用率过大,或配置的堆内存不合理,导致使用率超过阈值。
处理步骤
检查堆内存使用率
1.在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,选中“告警ID”为“19008”的告警,查看“定位信息”中的角色名并确定实例的IP地址。
- 告警上报的角色是HMaster,执行步骤2。
- 告警上报的角色是RegionServer,执行步骤3。
2.在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HBase > 实例”,单击告警上报的HMaster,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > CPU和内存 > HMaster堆内存使用率与直接内存使用率统计”,单击“确定”,查看HBase服务进程使用的堆内存是否已达到HBase服务进程设定的最大堆内存的90%。
- 是,执行步骤4。
- 否,执行步骤6。
3.在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HBase > 实例”,单击告警上报的RegionServer,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > CPU和内存 > RegionServer堆内存使用率与直接内存使用率统计”,单击“确定”,查看HBase服务进程使用的堆内存是否已达到HBase服务进程设定的最大堆内存的90%。
- 是,执行步骤4。
- 否,执行步骤6。
4.在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HBase > 配置”,单击“全部配置”, 选择“HMaster/RegionServer > 系统”,将“GC_OPTS”参数中“-Xmx”的值参考以下说明进行调大。
说明a.HMaster的GC参数配置建议
建议“-Xms”和“-Xmx”设置成相同的值,这样可以避免JVM动态调整堆内存大小时影响性能。
调整“-XX:NewSize”大小的时候,建议把其设置成和“-XX:MaxNewSize”相同,均为“-Xmx”大小的1/8。
当HBase集群规模越大、Region数量越多时,可以适当调大HMaster的GC_OPTS参数,配置建议如下:Region总数小于10万个,“-Xmx”设置为4G;超过10万个,“-Xmx”设置为不小于6G;超过10万时,每增加35000个Region,增加2G的“-Xmx”,整体的“-Xmx”的大小不超过32G。
b.RegionServer的GC参数配置建议
建议“-Xms”和“-Xmx”设置成相同的值,这样可以避免JVM动态调整堆内存大小时影响性能。
调整“-XX:NewSize”大小的时候,建议把其设置为“-Xmx”大小的1/8。
RegionServer需要的内存一般比HMaster要大。在内存充足的情况下,堆内存可以相对设置大一些。
根据机器的内存大小设置“-Xmx”大小:机器内存>200G,“-Xmx”设置为32G;128G<机器内存<200G,“-Xmx”设置为16G;机器内存<128G,“-Xmx”设置为8G。“-Xmx”配置为32G,可支持单RegionServer节点2000个Region,200个热点Region。
5.观察界面告警是否清除。
- 是,处理完毕。
- 否,执行步骤6。
收集故障信息
6.在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
7.在“服务”勾选待操作集群的“HBase”。
8.单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
9.请联系运维人员,并发送已收集的故障日志信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。