每個hregionserver中都會有乙個hlog物件,hlog是乙個實現write ahead log的類,
每次使用者操作寫入memstore的同時,也會寫乙份資料到hlog檔案,hlog檔案定期會滾動出新,
並刪除舊的檔案(已持久化到storefile中的資料)。當hregionserver意外終止後,hmaster會通過zookeeper感知,hmaster首先處理遺留的hlog檔案,將不同region的log資料拆分,分別放到相應region目錄下,然後再將失效的region重新分配,領取到這些region的hregionserver在load region的過程中,會發現有歷史hlog需要處理,因此會replay hlog中的資料到memstore中,然後flush到storefiles,完成資料恢復。
HBase資料備份恢復的幾種機制總結
1 replication,通過類似mysql 主從複製方式進行複製,基於hlog 在應用場景個人感覺比較重要的一點是可以隔離計算分析型的操作和實時性操作帶來的影響。對於ddl操作不做複製,過實時讀取hlog中的entry來解析變更的資料然後傳送到從集群中去。2 distcp,表資料檔案的copy ...
hbase備份恢復
usage import options by default import will load data directly into hbase.to instead generate hfiles of data to prepare for a bulk data load,pass the ...
HBase 備份及恢復
注意事項 1.hbase版本需要保持一致,否則資料無法恢復 本方案使用export及import方法,還有其他方法可以實現,暫不涉及。1.備份,以表為單位進行匯出 bin hbase org.apache.hadoop.hbase.mapreduce.export table name dst pa...