首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

HBase 增量备份跟还原工具

2012-07-25 
HBase 增量备份和还原工具HBase自带的export/import机制可以实现Backup Restore功能。而且可以实现增量备份

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


import timeimport datetimefrom datetime import dateimport sysimport ostablename=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 cmdos.system(cmd)



而Restore机制就更加简单
hbase org.apache.hadoop.hbase.mapreduce.Import tablename restorefolder


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

还有,必须在Hadoop-env.sh中配置好hbase和Zookeeper的路径,加上这样的语句
export HADOOP_CLASSPATH="/usr/lib/hadoop-hbase/hbaseXXX.jar:/usr/lib/hadoop-hbase/lib/zookeeperXXX.jar:/etc/hadoop-hbase/conf"

把这个加到crontab里面,就可以实现每天定时备份了。

热点排行