转载两篇相关文章:
第一篇、http://blog.nosqlfan.com/html/3014.html
HBase 增量备份和还原工具
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的路径.
把这个加到crontab里面,就可以实现每天定时备份了。
--------------------------------------------------我是分割线-----------------------------------------------------------
第二篇:http://koven2049.iteye.com/blog/1162904
hbase提供了导出表的方案,将指定的表导出到HDFS或本地,这样方便了备份或数据转移。
最快的方式是通过mapreduce来完成这件事,需要在hbase的conf中添加mapred-site.xml:
<property>
<name>mapred.job.tracker</name>
<value>192.168.0.1:9001</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
</property>
【注意:不加也可以运行,加了搞不好还会出错】
然后执行:
1.hbase org.apache.hadoop.hbase.mapreduce.Export backup_table hdfs://192.168.0.1:9000/user/test/backup_table
数据被写到了相应的目录,一个region一个文件。默认为sequencefile。当然还可以选择对输出进行压缩等。
要将输出的数据导入某个hbase的表,需执行以下命令:
hbase org.apache.hadoop.hbase.mapreduce.Import backup_table hdfs://192.168.0.1:9000/user/test/backup_table
此时再看对应的表,己经有数据了。
分享到:
相关推荐
关于HBase备份的类型,文档中提出了全备份和增量备份的概念。全备份是增量备份的基础,而增量备份可以定期捕获数据变化。此外,文档还支持对不同级别进行备份,例如表级别备份。为了成功地执行备份操作,文档强调了...
HBase 数据迁移与数据备份&恢复 本实验主要介绍了 HBase 数据迁移与数据备份和恢复的方法,包括使用 Sqoop 将 MySQL 数据导入到 HBase、将文本文件批量导入 HBase、使用 Hadoop DistCp 实现 HBase 的冷备份和热备份...
通过HBase的快照功能,我们可以方便地实现数据的迁移和备份。这种基于快照的方式不仅可以减少对生产环境的影响,还可以提高数据迁移的效率和可靠性。希望本文能帮助读者更好地理解和应用HBase快照迁移技术。
NetBackup提供的SQL Self-Service功能,明确了备份管理员与数据库管理员(DBA)之间的职责划分,使得DBA能够独立管理数据库备份和还原,同时利用InstantAccess功能快速浏览或装载数据库,增加了灵活性和效率。...
并对数据做以下处理:将图像数据解码后重新还原成图像,对图像调用OpenCV的人脸识别模块,标记出人脸区域,将重新构建的图像存进HBase数据库做原始数据备份,同时将图像数据传给web socket监听端口。图像处理的模块...
并对数据做以下处理:将图像数据解码后重新还原成图像,对图像调用OpenCV的人脸识别模块,标记出人脸区域,将重新构建的图像存进HBase数据库做原始数据备份,同时将图像数据传给web socket监听端口。图像处理的模块...
备份Hadoop集群是为了防止数据丢失或系统故障,当需要恢复服务时,可以快速将系统还原到备份时的状态。 Hadoop作为大数据处理的核心组件,通常包括HDFS(Hadoop Distributed File System)用于存储数据,MapReduce...
对于SQL Server,有bak文件用于备份,可以通过还原操作恢复。 总的来说,QQ数据库涉及到的技术广泛,包括但不限于SQL语言、数据库设计、分布式系统、性能优化、数据安全和恢复策略。理解和掌握这些知识点对于任何...
MySQL是这个阶段的重点,学生会学习基本的数据库操作,如数据类型、运算符、CRUD(创建、读取、更新、删除)操作,用户管理和数据备份与还原。此外,还将通过实际案例处理中型和大型数据的清洗和查询。 第四阶段:...
3. **高可靠性**:通过数据冗余备份和计算节点的互换性确保服务的高可靠性。 4. **通用性**:能够支持多种不同类型的应用程序和服务。 5. **高可扩展性**:根据需求动态调整资源规模。 6. **按需服务**:用户可以...
此外,还有一些NoSQL解决方案(如Redis、HBase)提供了键值对存储、列族存储等特性,特别适合缓存数据的快速存取。 在实际应用中,我们还需要考虑数据的一致性、并发控制、错误处理等问题。例如,为了防止多个线程...