1, hbase自带的备份恢复工具
hbase org.apache.hadoop.hbase.mapreduce.Export 'table1' /home/fred/table1
hbase org.apache.hadoop.hbase.mapreduce.Import 'table1' /home/fred/table1
导入时必须先创建表结构。
http://www.iteye.com/topic/1114721
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)
2, 把某个表(table1)从集群1迁移到集群2(两个集群互相看不见),步骤如下
1、拷贝集群1的表文件到本地磁盘,拷贝之前要停掉集群1的hbase服务,否则会丢失数据
hadoop fs -copyToLocal /hbase/table1 /home/fred/hb_bak/table1
2、对于文件操作,很简单吧,随便你怎么去拷贝来拷贝去
3、如果集群2中也有对应的表文件,那么删除掉,然后拷贝
hadoop fs -rmr /hbase/table1
hadoop fs -copyFromLocal /home/fred/hb_bak/table1 /hbase/table1
4、到hbase的bin目录下,重置该表在.META.表中的分区信息
hbase org.jruby.Main add_table.rb /hbase/table1
5、重启hbase使表的重置信息生效,切忌强制停掉hbase服务,否侧损坏数据
另外:
1、如果表的数据量过大呢? 那么按照该表在HDFS中的文件夹数据,分批拷贝。
2、如果两个集群可以互相通信呢?那么更爽了,直接使用distcp对拷,是并行的。
3, HBase Backup Options
http://hbase.info/tag/distcp
如果你打算部署HBase,那么你一定要考虑如何备份的问题,下面是作者列举的他所知道的一些备份方式,如果有遗漏的,欢迎补充。
Export
HBase提供了export的MapReduce Job(org.apache.hadoop.hbase.mapreduce.Export)可以将表导出为HDFS的顺序文件(SequenceFile),这是由HBASE-1684贡献的工具。此工具一次只能操作一张表,导出的顺序文件可以通过Import工具导入HBase。
Copy Table
在两个HBase集群之间复制数据,也可以通过Copy Table工具,这也是MapReduce实现的,一次操作一张表。
Distcp
你也可以利用HDFS的Distcp工具将整个/hbase复制到另外一个HDFS集群,但如果这可能导致复制的数据不一致,所以尽量不要这么做,除非先将源集群停止服务,参考: http://search-hadoop.com/m/wkMgSjVLDb
Backup from Mozilla
由于Dictcp做集群复制存在数据不一致的问题,Mozilla的开发人员开发了一个Backup工具,具体情况请参考他们的这篇Migrating HBase in the Trenches。
Cluster Replication
HBase从0.89版本开始引入集群复制功能,所以我们也可以利用此功能将数据备份到另一个集群。复制的目标集群不需要和源集群同配置,因此可以将数据通过复制备份到一个较低成本的集群中。
Table Snapshot
在著名的HBase-50中就提出了Snapshot的问题,尽管在GSoC 2010期间做了大量的工作,但不知由于什么原因,一直没有合并进HBase的主流分支。Jira上已经有一个Patch,但已经较长时间无进展了。
HDFS Replication
HDFS中的数据是有多份拷贝的,你也可以把这多份的拷贝当作一种备份,它虽然不能防止数据损坏,但能容忍部分硬件故障。
分享到:
相关推荐
#### 二、HBase备份恢复概述 HBase提供了多种备份恢复机制,但值得注意的是,所有这些机制都仅针对单个表进行操作,而不是整个数据库。这意味着如果需要备份或恢复多个表,就必须逐一执行相应的操作。下面我们将...
HBase备份和数据恢复是系统运维中至关重要的一环,确保了业务连续性和数据安全性。同时,HBase与其他大数据组件如Hive和HDFS的交互也是日常操作中的常见需求。 一、HBase备份和数据恢复 1. HBase的数据模型:HBase...
关于HBase备份的类型,文档中提出了全备份和增量备份的概念。全备份是增量备份的基础,而增量备份可以定期捕获数据变化。此外,文档还支持对不同级别进行备份,例如表级别备份。为了成功地执行备份操作,文档强调了...
【阿里云HBase备份恢复的原理以及实践】 阿里云HBase是一种分布式、高性能的NoSQL数据库,基于Apache HBase并提供了全面的企业级服务。在审计行业中,HBase因其优秀的性能和低成本而被广泛选用。本篇文章主要介绍了...
HBase 数据迁移与数据备份&恢复 本实验主要介绍了 HBase 数据迁移与数据备份和恢复的方法,包括使用 Sqoop 将 MySQL 数据导入到 HBase、将文本文件批量导入 HBase、使用 Hadoop DistCp 实现 HBase 的冷备份和热备份...
HBase 提供了多种备份与恢复方法,包括 Export、Import、Snapshot 等。 Export 和 Import 是 HBase 的内置功能,可以将 HBase 表内容输出成 HDFS 的 SequenceFiles 文件,然后将文件插入到 HBase 表中。 Snapshot ...
例如,`codeGenerate`可能是SpringBoot项目中的一个代码生成模块,用于根据配置自动生成HBase和MySQL备份、恢复的Java代码。这个模块可能会包含以下功能: 1. **配置管理**:定义备份路径、压缩算法、恢复选项等。 ...
2. 协同机制:Hbase依赖Zookeeper进行状态维护和故障恢复,而Zookeeper依赖Hbase提供高可用的服务,两者相互协作,共同构建起强大的分布式数据处理平台。 总结,Hbase与Zookeeper在大数据处理中的作用不可替代。...
### 从冷备份的HDFS数据中恢复到原来的HBase表 #### 概述 本文档详细介绍了一种从HDFS中的冷备份数据恢复至HBase表的方法。此过程适用于使用了HBase 1.1.x 和 Hadoop 2.7.x版本的环境。通过以下步骤,可以有效地将...
HBase,全称为Hadoop Distributed File System...此外,HBase的运维也是一项重要任务,包括定期备份、恢复、优化等。理解HBase的Region分裂和合并机制、RegionServer负载均衡以及故障处理策略也是深入使用HBase的关键。
备份恢复的有效性验证、备份存储以及恢复策略是阿里云MongoDB备份恢复功能的重要组成部分。用户可以根据实际需求,选择自动或手动备份,设置备份周期和保留时间。为了防止数据丢失,备份可以存储在高可靠的OSS(对象...
8. **复制和备份**:HBase支持数据复制以提高可用性,文档会解释如何配置复制和进行数据备份与恢复。 9. **安全与认证**:HBase与Kerberos的集成,实现安全的集群操作。 通过深入学习这些文档和配置文件,开发者...
8. **备份与恢复**:HBase提供了数据备份和恢复机制,以应对数据丢失或错误。在Twitbase中,这部分可能涉及到如何备份和恢复推文数据。 9. **Zookeeper**:HBase依赖Zookeeper进行协调和服务发现,了解Zookeeper的...
4. 导入导出:工具提供数据导入和导出功能,允许用户将数据从CSV或其他格式导入到HBase,或将HBase中的数据导出到文件系统,便于数据分析和备份恢复。 5. 权限管理:对于多用户环境,权限管理是必不可少的。该管理...
VERITAS NetBackup 10.0 是一款强大的数据保护解决方案,特别针对HBase这种分布式数据库提供了专门的...通过深入理解和应用NetBackup for HBase 的管理指南,系统管理员能够构建出强大而可靠的HBase备份和恢复体系。
入到HBase的shell环境中,可以使用`hbase shell`命令。在shell中,你可以进行基本的操作,如创建表、插入数据、查询...在生产环境中,还需要考虑监控、备份、恢复、性能调优等多个方面,以确保系统的健壮性和高效率。
实战开发通过jmx获取HBase运行时数据,监控集群状态 5-1 HBase备份与恢复 5-2 HBase监控简介 5-3 Hadoop JMX监控实战 5-4 HBase JMX监控实战 第6章 Phoenix & Sqoop 对HBase业务应用过程中常用到的第三方开源工具...
4. **备份与恢复**:学习如何使用HBase的快照功能进行数据备份,以及如何在灾难发生时恢复数据。 5. **安全性**:了解如何启用HBase的访问控制列表(ACLs),以及如何集成Kerberos实现身份验证和授权。 总的来说,...