【Hbase异常】记一次hbase集群修复过程

Hbase异常

hbase集群使用ambari安装,机房突然断电,重启后,发现hbase写不进数据,但使用list命令可以获取的表,scan命令也可以获取到数据。于是,开始尝试修复……

1.hbase hbck 检测。

发现这个命令必须hdfs用户才行,于是su hdfs,开始检测。

参考:(https://www.zybuluo.com/xtccc/note/191871)

inconsistencies detected. 
Status: INCONSISTENT

发现状态异常,于是关闭hbase集群。

2.hbase zkcli

登录zk的客户端,ls /hbase/table 发现没有找到这个目录,于是看了下hbase的配置,hbase的元信息在目录: /hbase-unsecure/table下,于是 ls /hbase-unsecure/table,发现所有表信息都在这里。

3.rmr /hbase-unsecure/table

删除所有元信息后,重启hbase集群,再次用hbase hbck 检测,还有两个异常,看异常信息需要重启zk,于是将zk和hbase都重启后,再次检测,正常。

0 inconsistencies detected.
Status: OK

hbase已经完全恢复,并能正常写入数据。

胖子安装上述步骤修复时,死活不能完整修复,最终使用Hadoop检测坏块命令,进行一次坏块删除,hbase正常恢复。

hadoop fsck /

hadoop fsck -delete

你可能感兴趣的:(异常汇总)