故障描述
某客户因为数据表数量过多,导致HBase Master无法初始化完成。根据日志判断为Meta错误。
故障分析
客户频繁操作HBase Master导致混乱,加载失败。
处理过程
1.判断客户hdfs数据正常,基于Hbase2特性,可以基于hdfs进行数据恢复
2.停用hbase服务;
3.备份或迁移hbase hdfs文件。例如如下
4.删除zk中数据
5.将备份或迁移的数据恢复。
6.启动Hbase;登陆hbase Master查看状态是否正常。
7.修复meta表
8.重启HBase Master;注意仅需对当前Master主机相对应服务重启,自动会选择其它主机为HBase Master;启动成功后,会提示大量的进入RIT状态。
9.登陆HBase Master,查看RIT,获取RIT中Rgid;复制并保存到文件,例如0903rit。执行下面命令重新创建区域
10.进入hbase shell,count查看表是否正常。
特别注意:如果没有namespace;可以在hbase shell启动好后确认表正常情况下,直接create_namespace即可。
建议/总结
Hbase中Meta损坏是最常见的问题,采用此方法可以安全快速的恢复数据。此方法还可以用于数据迁移。