ALM-19025 HBase存在损坏的StoreFile文件
告警解释
系统每120秒周期性检测每个HBase服务在HDFS上的“hdfs://hacluster/hbase/autocorrupt”和“hdfs://hacluster/hbase/MasterData/autocorrupt”目录,当检测到目录下存在文件时产生该告警。
当“/hbase/autocorrupt”和“/hbase/MasterData/autocorrupt”目录不存在或为空时,告警消除。
“hdfs://hacluster”为HBase使用的文件系统名,“/hbase”为HBase在文件系统上的根目录,可登录FusionInsight Manager,选择“集群 > 服务 > HBase > 配置”,在搜索框中分别搜索“fs.defaultFS”和“hbase.data.rootdir”参数查看。
告警属性
告警ID |
告警级别 |
告警类型 |
业务类型 |
是否可自动清除 |
---|---|---|---|---|
19025 |
重要 |
处理错误告警 |
HBase |
是 |
告警参数
类别 |
参数名称 |
参数含义 |
---|---|---|
定位信息 |
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
|
角色名 |
产生告警的角色名称。 |
|
主机名 |
产生告警的主机名。 |
对系统的影响
HBase存在损坏的StoreFile文件,可能会导致位于该文件上的数据丢失,业务查询数据可能出现不一致。
可能原因
StoreFile文件内容损坏。
处理步骤
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,查看“告警ID”为“19025”的告警的“定位信息”中上报该告警的服务名。
- 以客户端安装用户登录安装了HDFS和HBase客户端的节点,并执行以下命令:
cd 客户端安装目录
source bigdata_env
kinit 组件业务用户(若集群未启用Kerberos认证(普通模式),请跳过该操作)
- 查看损坏的StoreFile文件。
- 对“hdfs://hacluster/hbase/autocorrupt”目录下的StoreFile文件执行以下命令进行修复:
hdfs debug recoverLease -path hdfs://hacluster/hbase/autocorrupt/NameSpace名/表名/Region名/列簇名/StoreFile文件名
- 查看损坏的StoreFile文件是否修复成功,执行修复命令后返回以下信息表示修复成功:
recoverLease SUCCEEDED on hdfs://hacluster/hbase/autocorrupt/default/h1/865665fe32db62dadada68b644359809/cf1/95f210f931ad44c99e4028470be7d292
是,执行6。
否,执行9。
- 执行以下命令将文件移回“hdfs://hacluster/hbase/data”目录。
hdfs dfs -mv hdfs://hacluster/hbase/autocorrupt/NameSpace名/表名/Region名/列簇名/StoreFile文件名 hdfs://hacluster/hbase/data/NameSpace名/表名/Region名/列簇名/StoreFile文件名
- 在hbase shell执行以下命令重新上线Region。
hbase shell
unassign 'Region名'
assign 'Region名'
- 等待几分钟后,在告警列表中查看该告警是否清除。
- 是,处理完毕。
- 否,执行9。
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。