現在的位置: 首頁 > 資料庫 > 正文

HBase怎樣增量備份的python腳本

2020年07月02日 資料庫 ⁄ 共 1262字 ⁄ 字型大小 評論關閉

  HBase自帶的export/import機制可以實現BackupRestore功能。而且可以實現增量備份。下面學步園小編來講解下HBase怎樣增量備份的python腳本?

  HBase怎樣增量備份的python腳本

  在這個腳本中,每天做增量備份,每個月15日做全備份。

  importtime

  importdatetime

  fromdatetimeimportdate

  importsys

  importos

  tablename=sys.argv[1]

  backupDst=sys.argv[2]

  today=date.today()

  iftoday.day==15://everymonth,wedoafullbackup

  backupSubFolder=backupDst+today.isoformat()+"-full"

  cmd="hbaseorg.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="hbaseorg.apache.hadoop.hbase.mapreduce.Export%s%s%s"%(tablename,backupSubFolder,str(int(todayTimeStamp)*1000)

  printcmd

  os.system(cmd)

  HBase怎樣增量備份的python腳本

  而Restore機制就更加簡單

  hbaseorg.apache.hadoop.hbase.mapreduce.Importtablenamerestorefolder

  要注意的是,做Restore時候,原始的表必須是創建好的。所以如果表本身被損壞,需要重新創建一個新的空表,再做Restore。

  還有,必須在Hadoop-env.sh中配置好hbase和Zookeeper的路徑,加上這樣的語句

  exportHADOOP_CLASSPATH="/usr/lib/hadoop-hbase/hbaseXXX.jar:/usr/lib/hadoop-hbase/lib/zookeeperXXX.jar:/etc/hadoop-hbase/conf"

  把這個加到crontab裡面,就可以實現每天定時備份了。

  以上就是關於「HBase怎樣增量備份的python腳本」的內容,希望對大家有用。更多資訊請關注學步園。學步園,您學習IT技術的優質平台!

抱歉!評論已關閉.