HBase自带的export/import机制可以实现Backup Restore功能。而且可以实现增量备份。 下面设增量备份的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)
而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里面,就可以实现每天定时备份了。
分享到:
相关推荐
关于HBase备份的类型,文档中提出了全备份和增量备份的概念。全备份是增量备份的基础,而增量备份可以定期捕获数据变化。此外,文档还支持对不同级别进行备份,例如表级别备份。为了成功地执行备份操作,文档强调了...
三、HBase和HDFS互导 1. HBase到HDFS:可以通过HBase的Export工具,将HBase表的数据导出到HDFS文件,然后进行进一步处理或备份。 2. HDFS到HBase:可以使用HBase的Import工具,将HDFS上的数据文件加载到HBase表中...
由于网上下的不支持最新的hadoop,hbase 版本自己稍微修改了下,支持最新版本HBase的图形化管理工具,目前修改改为hadoop-2.7.1版本,hbase-1.1.2版本,依赖可以自己切换,源代码已经包括再里边了,如想修改直接修改...
hbase备份脚本
在HBase环境中,有多种客户端工具可供开发人员和管理员使用来进行查询和其他操作。以下是一些主要的HBase查询客户端工具及其详细说明: 1. **HBase Shell**:这是HBase自带的一个命令行接口,用户可以通过Java REPL...
本文将详细介绍一个专为HBase设计的可视化客户端工具,该工具不依赖于Phoenix连接,而是直接与HBase服务器通信,支持Hbase 1.x版本,提供类似于PL/SQL的友好界面,使得数据管理和查询变得更加便捷。 首先,这个可视...
通过对HBase中快照、复制、导出/导入和拷贝表这几种备份恢复机制的介绍,我们可以看出,不同的备份恢复策略有着各自的应用场景和特点。选择合适的备份恢复方法对于保障数据安全性和提高系统的可用性至关重要。在实际...
本文将深入探讨一款专为最新版本HBase设计的图形化管理工具,帮助用户更直观、便捷地进行HBase的管理和操作。 首先,我们要理解HBase的GUI工具的主要功能。它通常包括数据库的连接设置、表的创建与管理、数据的导入...
除了`hbase-client.jar`,可能还包含其他相关的JAR包,如`hbase-common.jar`,它包含了HBase的通用工具和模块,`hbase-server.jar`包含RegionServer所需的服务端代码,以及`hbase-protocol.jar`包含客户端和服务器...
2. **备份接口**:提供全量备份和增量备份的方法,分别对应HBase的快照和MySQL的mysqldump。 3. **恢复接口**:实现从备份文件恢复数据的功能,考虑处理备份文件的解压和数据导入。 4. **监控和日志**:记录备份和...
1. **安装JDK**:HBase和Hadoop都是用Java编写的,因此在运行任何Hadoop或HBase相关的程序之前,确保已经在系统上安装了兼容版本的Java Development Kit(JDK)。 2. **解压并配置路径**:下载并解压`winutils-...
在HBase 1.x版本中,为了便于用户更直观地管理和操作HBase表,开发了一系列的可视化客户端工具。这些工具不仅简化了命令行操作的复杂性,还通过图形化的界面使得数据查询和管理变得更加友好。 首先,我们要了解...
本实验主要介绍了 HBase 数据迁移与数据备份和恢复的方法,包括使用 Sqoop 将 MySQL 数据导入到 HBase、将文本文件批量导入 HBase、使用 Hadoop DistCp 实现 HBase 的冷备份和热备份。 一、使用 Sqoop 将 MySQL ...
1. **安装与配置**:首先确保你已经安装了HBase和Hadoop,并正确配置了环境。YCSB也需要安装,并且要下载对应HBase版本的绑定包。 2. **准备数据**:YCSB提供了工具生成测试数据,根据你的需求设置数据大小、记录...
增量式的Apriori算法,有点像分布式的Apriori,因为我们可以把已挖掘的事务集和新增的事务集看作两个互相独立的数据集,挖掘新增的事务集,获取所有新增频繁集,然后与已有的频繁集做并集,对于两边都同时频繁的项集...
HBase 和 Hadoop 数据块损坏处理 HBase 和 Hadoop 数据块损坏是非常常见的问题,可能会导致数据丢失、集群崩溃等严重后果。因此,了解如何处理 HBase 和 Hadoop 数据块损坏是非常重要的。本文将介绍 HBase 和 ...
HBase 管理工具和客户端详解 HBase 是一种基于列式存储的 NoSQL 数据库,具有高性能、可扩展性强和灵活的 schema 设计等特点。在 HBase 中,有多种管理工具和客户端可以帮助用户更好地管理和操作 HBase 数据库。 ...