`
lifei0327
  • 浏览: 33790 次
社区版块
存档分类
最新评论

hbase 备份及恢复

阅读更多
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备份和数据恢复

    HBase备份和数据恢复是系统运维中至关重要的一环,确保了业务连续性和数据安全性。同时,HBase与其他大数据组件如Hive和HDFS的交互也是日常操作中的常见需求。 一、HBase备份和数据恢复 1. HBase的数据模型:HBase...

    HBase数据备份与恢复.pdf

    关于HBase备份的类型,文档中提出了全备份和增量备份的概念。全备份是增量备份的基础,而增量备份可以定期捕获数据变化。此外,文档还支持对不同级别进行备份,例如表级别备份。为了成功地执行备份操作,文档强调了...

    藏经阁-阿里云HBase备份恢复的原理以及实践-15.pdf

    【阿里云HBase备份恢复的原理以及实践】 阿里云HBase是一种分布式、高性能的NoSQL数据库,基于Apache HBase并提供了全面的企业级服务。在审计行业中,HBase因其优秀的性能和低成本而被广泛选用。本篇文章主要介绍了...

    nosql实验五-HBase数据迁移与数据备份&恢复.docx

    HBase 数据迁移与数据备份&恢复 本实验主要介绍了 HBase 数据迁移与数据备份和恢复的方法,包括使用 Sqoop 将 MySQL 数据导入到 HBase、将文本文件批量导入 HBase、使用 Hadoop DistCp 实现 HBase 的冷备份和热备份...

    hbase和hadoop数据块损坏处理

    HBase 提供了多种备份与恢复方法,包括 Export、Import、Snapshot 等。 Export 和 Import 是 HBase 的内置功能,可以将 HBase 表内容输出成 HDFS 的 SequenceFiles 文件,然后将文件插入到 HBase 表中。 Snapshot ...

    hbase,mysql备份压缩springboot代码

    例如,`codeGenerate`可能是SpringBoot项目中的一个代码生成模块,用于根据配置自动生成HBase和MySQL备份、恢复的Java代码。这个模块可能会包含以下功能: 1. **配置管理**:定义备份路径、压缩算法、恢复选项等。 ...

    Hbase与zookeeper笔记备份.rar

    2. 协同机制:Hbase依赖Zookeeper进行状态维护和故障恢复,而Zookeeper依赖Hbase提供高可用的服务,两者相互协作,共同构建起强大的分布式数据处理平台。 总结,Hbase与Zookeeper在大数据处理中的作用不可替代。...

    [案例]从冷备份的hdfs数据中恢复到原来的hbase表

    ### 从冷备份的HDFS数据中恢复到原来的HBase表 #### 概述 本文档详细介绍了一种从HDFS中的冷备份数据恢复至HBase表的方法。此过程适用于使用了HBase 1.1.x 和 Hadoop 2.7.x版本的环境。通过以下步骤,可以有效地将...

    hbase安装包

    HBase,全称为Hadoop Distributed File System...此外,HBase的运维也是一项重要任务,包括定期备份、恢复、优化等。理解HBase的Region分裂和合并机制、RegionServer负载均衡以及故障处理策略也是深入使用HBase的关键。

    阿里云MongoDB备份恢复功能说明和原理介绍.pdf

    备份恢复的有效性验证、备份存储以及恢复策略是阿里云MongoDB备份恢复功能的重要组成部分。用户可以根据实际需求,选择自动或手动备份,设置备份周期和保留时间。为了防止数据丢失,备份可以存储在高可靠的OSS(对象...

    HBase配置文件与HBase doc文档

    8. **复制和备份**:HBase支持数据复制以提高可用性,文档会解释如何配置复制和进行数据备份与恢复。 9. **安全与认证**:HBase与Kerberos的集成,实现安全的集群操作。 通过深入学习这些文档和配置文件,开发者...

    hbase 示例

    8. **备份与恢复**:HBase提供了数据备份和恢复机制,以应对数据丢失或错误。在Twitbase中,这部分可能涉及到如何备份和恢复推文数据。 9. **Zookeeper**:HBase依赖Zookeeper进行协调和服务发现,了解Zookeeper的...

    Hbase数据库界面管理器

    4. 导入导出:工具提供数据导入和导出功能,允许用户将数据从CSV或其他格式导入到HBase,或将HBase中的数据导出到文件系统,便于数据分析和备份恢复。 5. 权限管理:对于多用户环境,权限管理是必不可少的。该管理...

    NetBackup10_AdminGuide_HBase.pdf

    VERITAS NetBackup 10.0 是一款强大的数据保护解决方案,特别针对HBase这种分布式数据库提供了专门的...通过深入理解和应用NetBackup for HBase 的管理指南,系统管理员能够构建出强大而可靠的HBase备份和恢复体系。

    hbase-0.98.9部署

    入到HBase的shell环境中,可以使用`hbase shell`命令。在shell中,你可以进行基本的操作,如创建表、插入数据、查询...在生产环境中,还需要考虑监控、备份、恢复、性能调优等多个方面,以确保系统的健壮性和高效率。

    Hbase+Spring boot实战分布式文件存储

    实战开发通过jmx获取HBase运行时数据,监控集群状态 5-1 HBase备份与恢复 5-2 HBase监控简介 5-3 Hadoop JMX监控实战 5-4 HBase JMX监控实战 第6章 Phoenix & Sqoop 对HBase业务应用过程中常用到的第三方开源工具...

    HBASE安装包及安装手册使用指南

    4. **备份与恢复**:学习如何使用HBase的快照功能进行数据备份,以及如何在灾难发生时恢复数据。 5. **安全性**:了解如何启用HBase的访问控制列表(ACLs),以及如何集成Kerberos实现身份验证和授权。 总的来说,...

Global site tag (gtag.js) - Google Analytics