Hbase2 基于hdfs恢復數據及遷移

分類
故障描述

  某客戶因為數據表數量過多,導致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即可。

建議/總結

  Hbase中Meta損壞是最常見的問題,采用此方法可以安全快速的恢復數據。此方法還可以用于數據遷移。

台湾佬中文娱乐网,久久男人av资源网站无码软件,好爽…又高潮了毛片小视频,国产成人一区二区免费不卡视频