文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用HBase/ HBase故障排除/ 集群异常掉电导致HBase文件损坏,如何快速自恢复?
更新时间:2024-07-24 GMT+08:00

集群异常掉电导致HBase文件损坏,如何快速自恢复?

问题

集群异常掉电导致HBase的StoreFile文件或WAL文件损坏,如何快速恢复?

该操作仅MRS 3.3.0及之后版本支持。

原因分析

当StoreFile文件损坏时,相关的Region会一直上线失败并重试,无法对外提供服务;当WAL文件损坏时,日志拆分会一直失败并重试,相关的Region无法重新上线并对外提供服务。

处理步骤

HBase服务端提供两个配置项来控制是否跳过损坏的StoreFile文件或WAL文件。登录FusionInsight Manager,选择“集群 > 服务 > HBase > 配置”,搜索并配置表1中的参数,参数支持动态生效,保存配置后登录hbase shell执行update_all_config即生效。

跳过损坏的文件可能会导致数据丢失,因此如下参数设置为“true”后,如果跳过了损坏的StoreFile文件或WAL文件,服务会上报“ALM-19025 HBase存在损坏的StoreFile文件”或“ALM-19026 HBase存在损坏的WAL文件”告警,请参考相应的告警帮助进行处理。

表1 HBase服务端跳过损坏的文件相关配置

参数名称

参数描述

默认值

hregion.hfile.skip.errors

Region上线时遇到HFile损坏是否跳过并移动到“/hbase/autocorrupt”或“/hbase/MasterData/autocorrupt”目录,容灾场景不建议开启此参数。

false

hbase.hlog.split.skip.errors

日志拆分时是否跳过损坏的WAL文件并移动到“/hbase/corrupt”目录。

false