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备份恢复的原理以及实践.pdf
本文档举例测试了HBASE各种备份与恢复测试用例,包括表拷贝,快照,复制等
hbase备份和数据恢复,hbase与hive的互导,hbase和hdfs互导。
HBase 数据备份与恢复
藏经阁-阿里云HBase备份恢复的原理以及实践-15.pdf
nosql实验五-HBase数据迁移与数据备份&恢复
介绍了从之前冷备份到hdfs的Hbase数据中恢复数据到hbase表的操作流程,使用的hbase-1.1,hadoop-2.7
hbase,mysql本机备份压缩,恢复,springboot代码 访问http://localhost:7777
实战开发通过jmx获取HBase运行时数据,监控集群状态 5-1 HBase备份与恢复 5-2 HBase监控简介 5-3 Hadoop JMX监控实战 5-4 HBase JMX监控实战 第6章 Phoenix & Sqoop 对HBase业务应用过程中常用到的第三方开源工具...
《Redis、MongoDB、HBase大咖直播大讲堂》技术直播峰会
MySQLDumper 是一个使用 PHP 开发的 MySQL 数据库备份恢复程序,解决了使用 PHP 进行大数据库备份和恢复的问题。MySQLDumper 允许用户方便地备份和恢复数百兆的数据库,不用担心网速太慢导致中间中断的问题。虽然 ...
该文档是用于指导贵州移动网络共享平台Hbase安装部署、参数设置、备份、恢复、监控的规范。
使用AWS的备份和恢复方法pdf 使用 Amazon ElastiCache提高规模性能,pdf 使用 Amazon Elastic File Systen加密文件数据pdf 使用 Amazon Elasticsearch Service记录和监控(几乎)所有资源,pdf 使用 Amazon kinesis流式...
该报告介绍了NoSQL的相关概念和实现技术,并选取三个NoSQL数据库(MongoDB、HBase、Redis)进行技术预研,从数据库的安装、部署、备份恢复、集群扩展、性能、客户端等方面进行比较,结合银行自身业务特点,分析每个...
同时数据库的相关知识也是必要的基础,熟悉 MySQL 数据库的安装与部署,还有备份和恢复等都是重点。 所以在第⼀部分的学习中我们需要达到以下⽬标: 1、通过对 Linux 操作系统体系结构、 服务管理、包管理、NTP ...
│ 704-备份与恢复演练1_rec.mp4 │ 705_rec.mp4 │ 706-逻辑备份演练1_rec.mp4 │ 707-物理备份演练_rec.mp4 │ 708-回顾_rec.mp4 │ day07-老男孩教育-MySQL备份.pdf │ MySQL培训(7)辅助资料.docx │ ├─L008-...
5.2.2 虚拟机数据备份恢复工具 181 5.2.3 虚拟机安全工具 181 5.2.4 可靠性组件FT和HA 182 5.3 云架构服务提供平台vCloud Service Director 182 5.3.1 创建虚拟数据中心和组织 183 5.3.2 网络的设计 184 5.3.3 目录...
同时,建立数据备份和恢复机制,确保数据的安全可靠。 数据处理与分析:提供丰富的数据处理和分析工具,如数据挖掘、机器学习等,帮助企业挖掘数据价值,发现业务机会。 数据可视化与展示:通过数据可视化技术,将...
同时,建立数据备份和恢复机制,确保数据的安全可靠。 数据处理与分析:提供丰富的数据处理和分析工具,如数据挖掘、机器学习等,帮助企业挖掘数据价值,发现业务机会。 数据可视化与展示:通过数据可视化技术,将...