由于用户copy后,不是一次性copy完,分次copy完成出现的问题,导致输入list,没有表,或者通过我的另一篇hbase启动后,输入list命令,提示初始化失败(或者没有表)_前方的路在刚开始-CSDN博客修复元数据失败。
解决方式
1.确定表没有少也没有多,判断方案给出2点
(1)最简单,对比文件的数量和大小
(2)对比文件内容的md5和目录名,以及数量--(在我电脑的g:/md5-给自己说的)
将原来的数据copy走
2.用hbase shell建立1个新表,表结构要与之前你出问题的那个表相同,名字也相同
3.去你新建的目录下的,数据目录中,找到.tabledesc
(本地是隐藏文件,hdfs上不是)
4.进去这个目录将.tableinfo.xxxx 拷贝出来
5.将你这个表中的数据删除,将你copy的数据复制过来,将tableinfo的数据,放到.tabledesc中。
6.执行hbase hbck -repair修复表,如果一次修复不成功可多次执行
参考:
HBase HBCK检查结果中表tableinfo和regioninfo同时丢失恢复方案-云社区-华为云