Atlas 因 HBase表故障导致的不可用

文章描述了一次由于磁盘故障导致HBase和HDFS数据丢失的问题。处理过程包括删除丢失数据块,清理HBase元数据,解决RegionInTransition状态,并最终通过重启ApacheAtlas及验证服务恢复。
摘要由CSDN通过智能技术生成

一、起因

一台服务磁盘故障,该服务器上的相关角色有:

  • HBase Master
  • HBase RegionServer
  • HDFS NameNode
  • HDFS JournalNode
  • HDFS DataNode

从而导致 HBase 表在 HDFS 上有部分数据块丢失。在删除 HDFS 上 atlas 表数据时未删除干净导致的 Region in transition

二、处理过程

1、发现问题 

        1)Atlas 不可用,查看日志报错如下:

        2)重启 atlas 并查看 Hbase 表发现表无法重建且仍报以上错误

        3)查看 HBase Master 日志发现有丢失数据块

2、解决问题

        1)由于 HDFS 上该部分数据无备份,且考虑到血缘数据可以回复,所以直接删除了这部分数据。

# 通过该命令查找到丢失的数据块
hdfs fsck /hbase/data -files -blocks -locations |grep MISSING 
# 删除上一步中查找出来的目录

        2)删除 HBase 中 atlas 表相关的元数据

# 由于不知道什么原因,我们 HBase 中 atlas 的表已经不存在,但元数据信息还存在,所以我们需要将元数据信息进行删除。
# 通过 hbase shell 进入 hbase
# 执行命令查找 atlas 相关表
scan 'hbase:meta'
# 通过一下命令删除该部分表的元数据
deletaall 'hbase:meta', 'rowkey'

         3)发现HBase Master 报错如下:

         经查阅资料得知 HBase 长时间出现RIT,并且发生RIT的Region是已经删除了的Hbase表,表未删除的情况下执行assgin可以消除该问题。但表删除后,执行assgin 会提示超时,表的Region不存在无法执行 该命令

        参考链接:Region in transition (永久RIT) 异常解决_彭三年的博客-CSDN博客

        4)解决 STUCK Region-In-Transition rit=OPENING

        原文中需要删除 HBase 中的 meta 信息,我们在步骤 2 中已经处理过,这里就无需再做处理,只需做如下操作:

  1. 将 /hbase/MasterProcWALs/ 下的文件删除或移动至其他目录
  2. 重启 Hbase Master

        5)重启 Apache Atlas 查看日志

三、恢复验证

  1. 查看 HBase 中的 atlas 相关表,发现已经自动创建
  2. 查看 Kafka 中的 atlas 相关 topic ,发现已经自动创建
  3. 查看 ES 中的 atlas 相关 索引 ,发现已经自动创建
  4. 通过域名访问 Atlas WebUI,无报错
  5. 登录 Atlas 并查看表血缘信息,无报错且准确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值