HBase 定期備份

如何使用HBase的Export與Import完成備份功能,請參照我之前的博文《HBase 增量備份》。

轉載一份使用Export與Import定期備份的Python代碼。每月15日做一次完整備份,每天進行一次增量備份。

import time  
import datetime  
from datetime import date  
import sys  
import os  
  
tablename=sys.argv[1]  
backupDst=sys.argv[2]  
today=date.today()  
if today.day == 15:    //every month, we do a full backup  
        backupSubFolder=backupDst+today.isoformat()+"-full"  
        cmd="hbase org.apache.hadoop.hbase.mapreduce.Export %s %s"%(tablename,backupSubFolder)  
else:  
  
        yesterday=datetime.date.today()- datetime.timedelta(days=1)  
        todayTimeStamp=time.mktime(today.timetuple())  
        yesTimeStamp=time.mktime(yesterday.timetuple())  
        backupSubFolder=backupDst+today.isoformat()  
        cmd="hbase org.apache.hadoop.hbase.mapreduce.Export %s %s %s"%(tablename,backupSubFolder,str(int(todayTimeStamp)*1000)  
  
print cmd  
  
os.system(cmd)

注意最後的cmd字符串構建,視HBase版本在對應位置添加上版本號。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章