美文网首页HBasehbase
一种Hbase数据备份策略及方法

一种Hbase数据备份策略及方法

作者: 果子学长 | 来源:发表于2020-01-20 15:02 被阅读0次

0.引言

Hbase在大数据处理中地位至关重要,有的公司会将Hbase作为原始数据接入层,那么Hbase的数据备份就显得至关重要,那么如何备份呢?这里我们引入Hbase的一个API,hbase org.apache.hadoop.hbase.mapreduce.Export,该API可以实现同一集群间的数据备份。

1.备份方法

初始化全量备份 + 增量备份手段

执行日程:

备份按照每张hbase中的表进行备份,每月的1号进行全量备份,每天进行增量备份

执行内容:

每月1号进行全量备份 在linux上执行如下命令

./hbase org.apache.hadoop.hbase.mapreduce.Exporttablename backupDst

每天进行增量备份,执行如下命令

./hbase org.apache.hadoop.hbase.mapreduce.Export tablename backupDst versionstart_time end_time

脚本参数列表如下图所示:

※具体示例脚本如下:

prepare_run.sh脚本

该脚本是执行备份脚本之前需要先做的准备工作

#!/bin/bash

su - hdfs <<EOF

hadoop fs -rm -R /backup

hadoop fs -mkdir /backup

hadoop fs -chmod -R 777 /backup

exit;

EOF

ods_xxx_hbase_backup_full_in.sh脚本

#!/bin/bash

##############################################################################################################################################

# HBASE data backup full and increment   #

########################################################################################

day=`date +%d`;#获取今天的日期

if [ "$2" != "" ];then

  day=$2

fi;

today=`date +%Y-%m-%d` #获取今天的日期

lastday=`date --date '-1days' +%Y-%m-%d` #获得昨天的日期

hbase_tablename='iot_dcqk_shock';#hbase中需要备份的表

if [ "$1" != "" ];then

  hbase_tablename=$1

fi;

hdfs_path='hdfs://10.1.3.12/backup';#hdfs路径,已经在hdfs中建好,且赋予777权限,需要根据自己集群修改

start_time=`date -d $lastday +%s`;#增量备份的起始时间戳

end_time=`date -d $today +%s`;#增量备份的结束时间戳

version='2';

#每月1号进行全量备份,其余时间增量备份

if [ $day == '01' ];

then

    #需要备份到hdfs上的目录

    backupDst=$hdfs_path"/"$hbase_tablename"_"$today"_f";

    hbase org.apache.hadoop.hbase.mapreduce.Export $hbase_tablename $backupDst $version

else

    backupDst=$hdfs_path"/"$hbase_tablename"_"$today"_i";

    hbase org.apache.hadoop.hbase.mapreduce.Export $hbase_tablename $backupDst $version $start_time $end_time

fi

2.脚本的使用方法

① 把脚本上传到服务器,位置是/home/centos/xxx/HbaseBackup(需要赋予脚本可执行权限)

chmod 777 –R /home/centos/xxx/HbaseBackup

② 首次备份需要在root用户下执行prepare_run.sh,创建hdfs上的备份目录/backup

③在/etc/crontab中设置定时任务,备份hbase中的每张表

Hbase中需要备份的表是通过位置参数传入进去,具体可参考如下图所示:

④查看hdfs中结果

文件夹以“_f”结尾的为全量备份,以“_i”结尾的为增量备份

3.总结

  本文主要讲解Hbase数据备份方法,备份主要采用Hbase自带的工具hbase org.apache.hadoop.hbase.mapreduce.Export进行备份,该备份工具结合shell脚本可有效的实现Hbase层的增量备份与全量备份,并在实际中得到了良好的应用。

相关文章

  • 一种Hbase数据备份策略及方法

    0.引言 Hbase在大数据处理中地位至关重要,有的公司会将Hbase作为原始数据接入层,那么Hbase的数据备份...

  • Hbase的数据备份策略

    摘自:http://qindongliang.iteye.com/blog/2366547Hbase的数据备份策略...

  • 七,MySQL备份恢复

    1,备份策略设计 备份周期: 备份工具: 备份方式: 逻辑: 物理备份: 备份的策略 数据恢复 数据迁移 2,备份...

  • 玩转HBase快照

    常见的HBase数据迁移和备份的方式 我们知道目前HBase可以通过如下几种方式对数据进行数据的迁移和备份: 1、...

  • 《深入浅出Mysql》--备份 笔记

    1. 备份策略 备份表存储引擎是否支持事务 全量备份与增量备份 2. 逻辑备份及恢复 数据备份为文本文件 最大优点...

  • 【hbase-维护】hbase日常运维

    1. 备份 执行HBase备份有两种主要策略:完全关闭集群进行备份(离线),以及在运行集群上进行备份(在线)。ht...

  • 简述mysql常用备份方式及备份工具并举例

    一、Mysql常用备份方式 Mysql的备份方法可以根据备份手段、备份的数据范围及备份时数据服务是否在线等来划分,...

  • hbase数据备份

    火山日常啰嗦今天就讲讲hbase数据备份相关的问题。 讲备份,首先就要知道备份的种类,然后再弄清楚每种备份的操作方...

  • 31备份恢复

    备份恢复备份策略的设计备份周期 根据数据量备份工具 mysqldump,XBK,MEB 备份方式​ ...

  • 使用mysqldump进行逻辑备份

    备份策略 完全备份:备份所有数据(单一或多个库、单一或多张表、整个数据库) 只备份更新数据:差异备份:备份自完全备...

网友评论

    本文标题:一种Hbase数据备份策略及方法

    本文链接:https://www.haomeiwen.com/subject/noujzctx.html