文档首页/ MapReduce服务 MRS/ 故障排除/ 使用HBase/ HBase文件丢失导致Region状态长时间为RIT
更新时间:2023-06-01 GMT+08:00

HBase文件丢失导致Region状态长时间为RIT

用户问题

数据迁移到新集群后,HBase的Region状态为RIT或FAILED_OPEN。

原因分析

  1. 登录到集群的Core节点查看RegionServer日志,报错:
    • “Region‘3b3ae24c65fc5094bc2acfebaa7a56de’”打开失败,Region状态被设置为FAILED_OPEN。
    • “Region‘b7b3faab86527b88a92f2a248a54d3dc’”下的一个文件找不到报错FileNotFoundException。
  2. 在HBase客户端中执行hbase hbck命令检查Region,报错:
    ERROR: Found lingering reference file hdfs://hacluster/hbase/news_user_actions/3b3ae24c65fc5094bc2acfebaa7a56de/meta/0f47cda55fa44cf9aa2599079894aed6.b7b3faab86527b88a92f2a248a54d3dc

    从引用文件可以看出,‘3b3ae24c65fc5094bc2acfebaa7a56de’Region是‘ b7b3faab86527b88a92f2a248a54d3dc’的子Region,子Region引用了父Region的文件,父Region的文件在迁移过程中因为未知原因丢失了,导致子Region找不到引用文件。

    这种异常并不能通过简单的重试可解决,所以Region会长时间处于RIT状态。

处理步骤

  1. 在HDFS客户端执行以下命令删除2查看到的残留文件:

    hdfs dfs -rmr 残留文件所在的HDFS路径

    例如:

    hdfs dfs -rmr /hbase/news_user_actions/3b3ae24c65fc5094bc2acfebaa7a56de/meta/0f47cda55fa44cf9aa2599079894aed6.b7b3faab86527b88a92f2a248a54d3dc