进入hbase shell,
用 list 命令可以查看到我的表空间(dw_data)和表(a_organ 等等),是可以查出来:
然后用 list_namespace 命令查看, 发现表空间(dw_data)不在了:
当然表空间下面的表也不存在了:
用 hadoop fs -ls /hbase/data 命令,查看dw_data的目录是有的:
里面的表的目录也是有的:
求助,怎么让hbase可以识别到dw_data表空间和它的表?
原因:HBASE meta 数据丢失
解决:
查看hbasemeta情况
hbase hbck
1.重新修复hbase meta表(根据hdfs上的regioninfo文件,生成meta表)
hbase hbck -fixMeta
2.重新将hbase meta表分给regionserver(根据meta表,将meta表上的region分给regionservere)
hbase hbck -fixAssignments
可能会报用户权限错误,可切换到root用户执行runuser:
runuser -l hbase -s /bin/sh -c 'hbase hbck -fixMeta'
runuser -l hbase -s /bin/sh -c 'hbase hbck -fixAssignments'