HBase增量备份和还原工具

HBase自带的export/import机制可以实现Backup Restore功能。而且可以实现增量备份。 下面设增量备份的python脚本 在这个脚本中,每天做增量备份,每个月15日做全备份。

 
 
 
  1. import time 
  2. import datetime 
  3. from datetime import date 
  4. import sys 
  5. import os 
  6.  
  7. tablename=sys.argv[1] 
  8. backupDst=sys.argv[2] 
  9. today=date.today() 
  10. if today.day == 15:    //every month, we do a full backup 
  11.         backupSubFolder=backupDst+today.isoformat()+"-full" 
  12.         cmd="hbase org.apache.hadoop.hbase.mapreduce.Export %s %s"%(tablename,backupSubFolder) 
  13. else: 
  14.  
  15.         yesterday=datetime.date.today()- datetime.timedelta(days=1) 
  16.         todayTimeStamp=time.mktime(today.timetuple()) 
  17.         yesTimeStamp=time.mktime(yesterday.timetuple()) 
  18.         backupSubFolder=backupDst+today.isoformat() 
  19.         cmd="hbase org.apache.hadoop.hbase.mapreduce.Export %s %s %s"%(tablename,backupSubFolder,str(int(todayTimeStamp)*1000) 
  20.  
  21. print cmd 
  22.  
  23. os.system(cmd) 

而Restore机制就更加简单

 
 
 
  1. hbase org.apache.hadoop.hbase.mapreduce.Import tablename restorefolder 

要注意的是,做Restore时候,原始的表必须是创建好的。所以如果表本身被损坏,需要重新创建一个新的空表,再做Restore。

还有,必须在Hadoop-env.sh中配置好hbase和Zookeeper的路径,加上这样的语句

 
 
 
  1. export HADOOP_CLASSPATH="/usr/lib/hadoop-hbase/hbaseXXX.jar:/usr/lib/hadoop-hbase/lib/zookeeperXXX.jar:/etc/hadoop-hbase/conf" 

本文题目:HBase增量备份和还原工具
URL链接:http://www.hantingmc.com/qtweb/news30/325130.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联