故障描述
某客户因为数据表数量过多,导致HBase Master无法初始化完成。根据日志判断为Meta错误。
故障分析
客户频繁操作HBase Master导致混乱,加载失败。
处理过程
1.判断客户hdfs数据正常,基于Hbase2特性,可以基于hdfs进行数据恢复
2.停用hbase服务;
3.备份或迁移hbase hdfs文件。例如如下
hdfs dfs -mv /hbase/data /hbase/data_1 //重命名
hdfs dfs -cp -p /hbase/data /hbase/data_1 //复制一份,客户涉及数据200T,采用重命名方式
4.删除zk中数据
hbase zkcli
rmr /hbase-unsecure
5.将备份或迁移的数据恢复。
hdfs dfs -mv /hbase/data_1 /hbase/data //重命名回去,可以根据实际情况,仅复制部分数据。
6.启动Hbase;登陆hbase Master查看状态是否正常。
7.修复meta表
hbase hbck -j /root/hbase-operator-tools-1.2.0/hbase-hbck2/hbase-hbck2-1.2.0.jar addFsRegionsMissingInMeta 'FAULT' //引用hbck2,对FAULT命名空间的表进行修复。多个命名空间,建议多次执行。
8.重启HBase Master;注意仅需对当前Master主机相对应服务重启,自动会选择其它主机为HBase Master;启动成功后,会提示大量的进入RIT状态。
9.登陆HBase Master,查看RIT,获取RIT中Rgid;复制并保存到文件,例如0903rit。执行下面命令重新创建区域
hbase hbck -j /root/hbase-operator-tools-1.2.0/hbase-hbck2/hbase-hbck2-1.2.0.jar assigns -i /root/0903rit //这里是引用的文件,可以选择单个rit。
10.进入hbase shell,count查看表是否正常。
特别注意:如果没有namespace;可以在hbase shell启动好后确认表正常情况下,直接create_namespace即可。
建议/总结文章来源:https://www.toymoban.com/news/detail-579274.html
Hbase中Meta损坏是最常见的问题,采用此方法可以安全快速的恢复数据。此方法还可以用于数据迁移。文章来源地址https://www.toymoban.com/news/detail-579274.html
到了这里,关于Hbase2 基于hdfs恢复数据及迁移的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!