ALM-19040 HBase存在异常状态Region
告警解释
系统每60秒周期性检测HBase是否存在异常状态的Region,异常状态包括ABNORMALLY_CLOSED(Region被异常关闭)、FAILED_OPEN(RegionServer打开Region失败)、FAILED_CLOSE(RegionServer关闭Region失败);当检测到HBase存在异常状态Region时,上报该告警。
当HBase不存在异常状态Region时,告警清除。
本章节仅适用于MRS 3.6.0-LTS.1及之后版本。
告警属性
| 告警ID | 告警级别 | 是否可自动清除 |
|---|---|---|
| 19040 | 重要 | 是 |
告警参数
| 类别 | 参数名称 | 参数含义 |
|---|---|---|
| 定位信息 | 来源 | 产生告警的集群名称。 |
| 服务名 | 产生告警的服务名称。 | |
| 角色名 | 产生告警的角色名称。 | |
| 主机名 | 产生告警的主机名。 | |
| 附加信息 | Threshold | 产生告警的阈值。 |
对系统的影响
存在异常状态的Region表示Region可能未如预期正常上线,业务访问到该Region时可能会报错。
可能原因
HBase Region上下线时因为异常原因未能完整完成Region上下线动作。
处理步骤
检查HBase中是否存在异常状态的Region。
- 登录Manager界面,选择“集群 > 服务 > HBase > 图表”,在“图表分类”中选择“ 服务”,查看“异常状态Region数目统计”监控图表,确认异常状态Region的数量。
- 单击“概览”,单击“HMaster Web UI”右侧的超链接进入HBase WebUI界面。
- 在“Tables”区域的“User Tables”页签中,对“Other”列进行排序,查看该列值是否存在不为“0”的情况。
- 单击“Other”列不为“0”所在行的“Name”列的表名进入表详情页面,在“Table Regions”区域中的“Base Stats”页签,查看是否存在多个“Region State”为“ABNORMALLY_CLOSED”的Region。
- 在业务允许的情况下,可在hbase shell中执行以下操作使表Region重新上线。
- 表Region上线后,等待几分钟后检查本告警是否恢复。
- 是,处理完毕。
- 否,执行步骤 8。
- 该表中仅少许表Region状态异常,需使用HBCK工具修复表。
- 在HBase WebUI页面的导航栏中选择“Procedure & Locks”,在“Procedures”区域观察是否存在Region的Procedure长时间未更新。
- 使用客户端安装用户登录安装HBase客户端的节点,执行以下配置环境变量并认证用户:
source bigdata_env
kinit hbase(集群未启用Kerberos认证(普通模式)请跳过该操作)
- 执行以下命令将Procedure Lock释放:
hbase hbck -j 客户端安装目录/HBase/hbase/tools/hbase-hbck2-*.jar bypass -o pid
pid即为在7.a中的“Procedures”区域查看到的“Id”列的Process ID。
- Procedure Lock释放后,在7.a中的“Procedures”区域观察Region的“State”值是否一直为“RUNNABLE(Bypass)”。
- 在Manager界面,选择“集群 > 服务 > HBase”,在“概览”页面的右上角选择“更多 > 执行HMaster倒换”,输入当前用户密码并单击“确定”进行HMaster主备切换。
- HMaster主备倒换成功后,等待几分钟后检查本告警是否恢复。
- 是,处理完毕。
- 否,执行7.g。
- 执行以下命令设置Region状态为CLOSED:
hbase hbck -j 客户端安装目录/HBase/hbase/tools/hbase-hbck2-*.jar setRegionState RegionName CLOSED
- 执行以下命令重新手动上线该Region:
hbase hbck -j 客户端安装目录/HBase/hbase/tools/hbase-hbck2-*.jar assigns RegionName
- 登录HBase WebUI页面,在导航栏选择“Procedure & Locks”,查看是否有对应的Region上线Procedure。
- 在导航栏选择“Home”,查看“Tables”区域的“User Tables”页签中的“Other”列的值是否全都为“0”。
- 在Manager界面,选择“集群 > 服务 > HBase > 图表”,在“图表分类”中选择“ 服务”,查看“异常状态Region数目统计”监控图表,确认是否存在异常状态Region。
- 是,执行步骤 8。
- 否,处理完毕。
收集故障信息
告警清除
系统会自动清除此告警,无需手工清除。
参考信息
不涉及。