hbase hbck的參數使用

  1. http://blog.csdn.net/liliwei0213/article/details/53639275新版本的 
    hbck 能夠修復各類錯誤,修復選項是:     
    (1)-fix,向下兼容用,被-fixAssignments替代     
    (2)-fixAssignments,用於修復region assignments錯誤     
    (3)-fixMeta,用於修復meta表的問題,前提是HDFS上面的region info信息有而且正確。     
    (4)-fixHdfsHoles,修復region holes(空洞,某個區間沒有region)問題     
    (5)-fixHdfsOrphans,修復Orphan region(hdfs上面沒有.regioninfo的region)     
    (6)-fixHdfsOverlaps,修復region overlaps(區間重疊)問題     
    (7)-fixVersionFile,修復缺失hbase.version文件的問題     
    (8)-maxMerge <n> (n默認是5),當region有重疊是,須要合併region,一次合併的region數最大不超過這個值。     
    (9)-sidelineBigOverlaps ,當修復region overlaps問題時,容許跟其餘region重疊次數最多的一些region不參與(修復後,能夠把沒有參與的數據經過bulk load加載到相應的region)     
    (10)-maxOverlapsToSideline <n> (n默認是2),當修復region overlaps問題時,一組裏最多容許多少個region不參與     
    因爲選項較多,因此有兩個簡寫的選項     
    (11) -repair,至關於-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans -fixHdfsOverlaps -fixVersionFile -sidelineBigOverlaps     
    (12)-repairHoles,至關於-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans     
         
    新版本的 hbck     
    (1)缺失hbase.version文件     
     加上選項 -fixVersionFile 解決     
    (2)若是一個region即不在META表中,又不在hdfs上面,可是在regionserver的online region集合中     
     加上選項 -fixAssignments 解決     
    (3)若是一個region在META表中,而且在regionserver的online region集合中,可是在hdfs上面沒有     
     加上選項 -fixAssignments -fixMeta 解決,( -fixAssignments告訴regionserver close region),( -fixMeta刪除META表中region的記錄)     
    (4)若是一個region在META表中沒有記錄,沒有被regionserver服務,可是在hdfs上面有     
    加上選項 -fixMeta -fixAssignments 解決,( -fixAssignments 用於assign region),( -fixMeta用於在META表中添加region的記錄)     
    (5)若是一個region在META表中沒有記錄,在hdfs上面有,被regionserver服務了     
    加上選項 -fixMeta 解決,在META表中添加這個region的記錄,先undeploy region,後assign     
    (6)若是一個region在META表中有記錄,可是在hdfs上面沒有,而且沒有被regionserver服務     
    加上選項 -fixMeta 解決,刪除META表中的記錄     
    (7)若是一個region在META表中有記錄,在hdfs上面也有,table不是disabled的,可是這個region沒有被服務     
    加上選項 -fixAssignments 解決,assign這個region     
    (8)若是一個region在META表中有記錄,在hdfs上面也有,table是disabled的,可是這個region被某個regionserver服務了     
    加上選項 -fixAssignments 解決,undeploy這個region     
    (9)若是一個region在META表中有記錄,在hdfs上面也有,table不是disabled的,可是這個region被多個regionserver服務了     
    加上選項 -fixAssignments 解決,通知全部regionserver close region,而後assign region     
    (10)若是一個region在META表中,在hdfs上面也有,也應該被服務,可是META表中記錄的regionserver和實際所在的regionserver不相符     
    加上選項 -fixAssignments 解決     
         
    (11)region holes     
    須要加上 -fixHdfsHoles ,建立一個新的空region,填補空洞,可是不assign 這個 region,也不在META表中添加這個region的相關信息     
    (12)region在hdfs上面沒有.regioninfo文件     
    -fixHdfsOrphans 解決     
    (13)region overlaps     
    須要加上 -fixHdfsOverlaps     
           
    說明:     
    (1)修復region holes時,-fixHdfsHoles 選項只是建立了一個新的空region,填補上了這個區間,還須要加上-fixAssignments -fixMeta 來解決問題,( -fixAssignments 用於assign region),( -fixMeta用於在META表中添加region的記錄),因此有了組合拳 -repairHoles 修復region holes,至關於-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans     
    (2) -fixAssignments,用於修復region沒有assign、不該該assign、assign了屢次的問題     
    (3)-fixMeta,若是hdfs上面沒有,那麼從META表中刪除相應的記錄,若是hdfs上面有,在META表中添加上相應的記錄信息     
    (4)-repair 打開全部的修復選項,至關於-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans -fixHdfsOverlaps -fixVersionFile -sidelineBigOverlaps     
         
    新版本的hbck從(1)hdfs目錄(2)META(3)RegionServer這三處得到region的Table和Region的相關信息,根據這些信息判斷並repair    服務器

    示例:ide

    [plain] view plain copy.net

    查看hbasemeta狀況    
    hbase hbck    
    1.從新修復hbase meta表(根據hdfs上的regioninfo文件,生成meta表)    
    hbase hbck -fixMeta    
    2.從新將hbase meta表分給regionserver(根據meta表,將meta表上的region分給regionservere)    
    hbase hbck -fixAssignments    server

    [plain] view plain copyblog

    當出現漏洞    
    hbase hbck -fixHdfsHoles  (新建一個region文件夾)    
    hbase hbck -fixMeta        (根據regioninfo生成meta表)    
    hbase hbck -fixAssignments  (分配region到regionserver上)  io

    [plain] view plain copytable

    1、故障緣由    
    IP爲10.191.135.3的服務器在2013年8月1日出現服務器從新啓動的狀況,致使此臺服務器上的全部服務均中止。從而造meta

相關文章
相關標籤/搜索