故障描述
某客戶(hù)因?yàn)閿?shù)據(jù)表數(shù)量過(guò)多,導(dǎo)致HBase Master無(wú)法初始化完成。根據(jù)日志判斷為Meta錯(cuò)誤。
故障分析
客戶(hù)頻繁操作HBase Master導(dǎo)致混亂,加載失敗。
處理過(guò)程
? ? ? ?1.判斷客戶(hù)hdfs數(shù)據(jù)正常,基于Hbase2特性,可以基于hdfs進(jìn)行數(shù)據(jù)恢復(fù)
? ? ? ?2.停用hbase服務(wù);
? ? ? ?3.備份或遷移hbase hdfs文件。例如如下
hdfs dfs -mv /hbase/data /hbase/data_1 //重命名
hdfs dfs -cp -p /hbase/data /hbase/data_1 //復(fù)制一份,客戶(hù)涉及數(shù)據(jù)200T,采用重命名方式
? ? ? ? 4.刪除zk中數(shù)據(jù)
hbase zkcli
rmr /hbase-unsecure
? ? ? ? 5.將備份或遷移的數(shù)據(jù)恢復(fù)。
hdfs dfs -mv /hbase/data_1 /hbase/data? //重命名回去,可以根據(jù)實(shí)際情況,僅復(fù)制部分?jǐn)?shù)據(jù)。
? ? ? ? 6.啟動(dòng)Hbase;登陸hbase Master查看狀態(tài)是否正常。
? ? ? ? 7.修復(fù)meta表
hbase hbck -j /root/hbase-operator-tools-1.2.0/hbase-hbck2/hbase-hbck2-1.2.0.jar addFsRegionsMissingInMeta 'FAULT' //引用hbck2,對(duì)FAULT命名空間的表進(jìn)行修復(fù)。多個(gè)命名空間,建議多次執(zhí)行。
? ? ? ? 8.重啟HBase Master;注意僅需對(duì)當(dāng)前Master主機(jī)相對(duì)應(yīng)服務(wù)重啟,自動(dòng)會(huì)選擇其它主機(jī)為HBase Master;啟動(dòng)成功后,會(huì)提示大量的進(jìn)入RIT狀態(tài)。
? ? ? ? 9.登陸HBase Master,查看RIT,獲取RIT中Rgid;復(fù)制并保存到文件,例如0903rit。執(zhí)行下面命令重新創(chuàng)建區(qū)域
hbase hbck -j /root/hbase-operator-tools-1.2.0/hbase-hbck2/hbase-hbck2-1.2.0.jar assigns -i /root/0903rit? ?//這里是引用的文件,可以選擇單個(gè)rit。
? ? ? ?10.進(jìn)入hbase shell,count查看表是否正常。
特別注意:如果沒(méi)有namespace;可以在hbase shell啟動(dòng)好后確認(rèn)表正常情況下,直接create_namespace即可。
建議/總結(jié)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-579274.html
Hbase中Meta損壞是最常見(jiàn)的問(wèn)題,采用此方法可以安全快速的恢復(fù)數(shù)據(jù)。此方法還可以用于數(shù)據(jù)遷移。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-579274.html
到了這里,關(guān)于Hbase2 基于hdfs恢復(fù)數(shù)據(jù)及遷移的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!