问题描述:批次正在写入Hbase表(表名统一叫做table01,),重启Hbase后表table01无法读写;
分析和处理过程:
1、考虑到数据为中间过程文件,计划清空该文件,执行如下指令:
truncate 'table01'
报错:ERROR:Unknown table table01!
Hbase无法识别表table01,表状态异常。
2、is_enabled 判断表是否enable
is_enabled 'table01'
报错:ERROR:Unknown table table01!
3、执行指令修复表
hbase hbck -fixTableState 'table01'
4、判断表是否存在
exists 'table01'
报错:Table table01 does not exist
5、怀疑Hbase元数据出来了问题,需要修复元数据
hbase zkcli 登录zk
ls /hbase/table-lock 发现该目录存在名字为table01的信息
deleteall /hbase/table-lock/table01 删除表在zk上lock信息
ls /hbase/table/table01 发现该目录存在名字为table01的信息
deleteall /hbase/table/table01 删除表信息
ls /hbase/acl/table01 发现该目录存在名字为table01的信息
deleteall /hbase/acl/table01 删除表信息
6、删除zk 上的信息后,表:table01依旧无法使用,重启Hbase后,表:table01恢复正常。
网友评论