hbase修復.META.表與HDFS文件不一致問題

       在實際環境中遇到hbase fbck檢查報hdfs數據塊與META表信息不一致的錯誤。表現就是數據寫入無法進行。

      經過檢查,發現在.META.表中對應的一些region塊的子列少了regioninfo這一列;同時在hdfs的出錯region文件夾下查看發現本來該是.regioninfo的文件夾變成了.tmp文件夾。在網上查了些資料,發現是region做分裂的時候失敗,導致regioninfo信息丟失,.META.表就無法記錄該region的startkey,endkey等信息。

      淘寶發佈了兩個補丁,來避免這個錯誤出現。0.90.5版本已經集成了此修改。HBASE-4562,HBASE-4563

     

      但是對於已經發生的錯誤,如何恢復集羣正常使用。有兩種方案:

      1、移除異常數據(較容易)

      1)首先,將hdfs上那些不一致的數據庫進行刪除,或者mv到別的位置

      2)對應的region信息在META表中進行刪除

      3)使用hbase merge命令修補刪除數據形成的空洞

       最後這一步是引用別人的blog,在此貼出鏈接:http://blog.csdn.net/a221133/article/details/7085257

 

      2、恢復數據(社區正在開發中,未有穩定版集成)

       後續如果有相關內容會在此篇日誌更新,先mark一下
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章