使用Hbase快照将数据输出到互联网区测试环境的临时Hbase集群
通过snapshot对内网测试环境Hbase生产集群的全量数据(包括原始数据和治理后数据)复制到互联网Hbase临时集群。
工具及原理:
1) Hbase自带镜像导出工具(snapshot和ExportSnapshot)
2) ExportSnapshot将执行一个MapReduce的Job ,它工作在HDFS层级,不会对Region server造成额外的负担,仅需指定HDFS的位置(即:输出集群的hbase.rootdir)。
步骤:
1) 先确认Hbase的配置项(hbase-site.xml)是否打开, 在0.95之后的版本都是默认开启的,本次测试采用的是0.98的版本。
2) 对表(如:exmaple_table)创建一个快照
$ bin/hbase shell
hbase> snapshot ‘exmaple_table’, ‘snapshot_example_table’
快照目录:
/hbase/.hbase-snapshot:存储快照的元数据
3) 使用ExportSnapshot命令导出快照到临时集群,使用8个mapper(可根据自身设备内存及数据大小大小进行具体的划分),因为为内网环境,忽略带宽的影响,一般的外网环境则带宽限定在200 MB内(megabytes per second)根据实际情况设定来看。对内存的限制可以在yarn.stie.xml文件中进行具体的限制,主要有两项:
$ bin/hbaseorg.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snapshot_example_table -copy-to hdfs://server8:8082/test -mappers 4 -bandwidth 200
ð -copy-to后面可以是任意HDFS目录,这里是把快照直接导入到Hbase目的集群的根目录下
ð 导出目录的/archive目录下存放实际的数据。
ð 导出目录的/.hbase-snapshot目录下存放实际的数据。
ð 该操作要用hbase的账户执行,并且在hdfs当中要有hbase的账户建立的临时目录(hbase.tmp.dir参数控制)
注:
ð snapshot是针对表的,需要写脚本对所有表创建snapshot。
ð 根据实际网络配置来调整带宽参数
4) 查看所有快照:
$hbase> list_snapshots
统计表中的行数:
$hbase> count example_lable
统计表的大小:
$hbase> hadoop fs --count /test/archive
通过hadoop层级将快照文件拷贝出来:
$hbase> hadoop fs --copyToLocal /test /tmp
将此文件导入到其他hbase集群的主机任意目录之后,再运行一下命令把相关的文件导入到hdfs文件系统
$hadoop fs -copyFromLocal /opt/hbase/hadoop/tmp/test/archive /hbase
$hadoop fs -copyFromLocal /opt/hbase/hadoop/tmp/test/.hbase-snapshot /hbase
5) 在临时集群上恢复快照
$hbase> restore_snapshot 'snapshot_example_table'
6) 确认表是否恢复成功
$hbase> list
$hbase> scan 'example_table',{LIMIT=>5}
$bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter ‘example_table’ (比count效率高)
注:主要步骤已加粗显示
使用Hbase快照将数据输出到互联网区测试环境的临时Hbase集群的更多相关文章
- HBase快照迁移数据失败原因及解决办法
目录 目录 1 1. 背景 1 2. 环境 1 3. 执行语句 1 4. 问题描述 1 5. 错误信息 2 6. 问题原因 3 7. 解决办法 4 1. 背景 机房裁撤,需将源HBase集群的数据迁移 ...
- 15套java互联网架构师、高并发、集群、负载均衡、高可用、数据库设计、缓存、性能优化、大型分布式 项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...
- 搭建互联网架构学习--006--duboo准备之zk集群部署安装
dubbo集群部署安装依赖于zookeeper,所以先安装zookeeper集群. 1.准备三台机器做集群 2.配置 配置java环境 ,2,修改操作系统的/etc/hosts文件,添加IP与主机名 ...
- 流式大数据计算实践(3)----高可用的Hadoop集群
一.前言 1.上文中我们已经搭建好了Hadoop和Zookeeper的集群,这一文来将Hadoop集群变得高可用 2.由于Hadoop集群是主从节点的模式,如果集群中的namenode主节点挂掉,那么 ...
- 大数据学习笔记03-HDFS-HDFS组件介绍及Java访问HDFS集群
HDFS组件概述 NameNode 存储数据节点信息及元文件,即:分成了多少数据块,每一个数据块存储在哪一个DataNode中,每一个数据块备份到哪些DataNode中 这个集群有哪些DataNode ...
- 大数据学习之旅2——从零开始搭hadoop完全分布式集群
前言 本文从零开始搭hadoop完全分布式集群,大概花费了一天的时间边搭边写博客,一步一步完成完成集群配置,所以相信大家按照本文一步一步来完全可以搭建成功.需要注意的是本文限于篇幅和时间的限制,也是为 ...
- 大数据之虚拟机配置和环境准备及hadoop集群搭建
一.VMnet1和VMnet8路由器 VMware-workstation软件选择默认安装时,会自动创建VMnet1和VMnet8路由器设备.(安装失败使用CCleaner清理vm软件) VMnet1 ...
- 新闻网大数据实时分析可视化系统项目——3、Hadoop2.X分布式集群部署
(一)hadoop2.x版本下载及安装 Hadoop 版本选择目前主要基于三个厂商(国外)如下所示: 1.基于Apache厂商的最原始的hadoop版本, 所有发行版均基于这个版本进行改进. 2.基于 ...
- HBase高速导入数据--BulkLoad
Apache HBase是一个分布式的.面向列的开源数据库.它能够让我们随机的.实时的訪问大数据.可是如何有效的将数据导入到HBase呢?HBase有多种导入数据的方法.最直接的方法就是在MapRed ...
随机推荐
- ACdream 1427—— Nice Sequence——————【线段树单点更新,区间查询】
Nice Sequence Time Limit: 4000/2000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Su ...
- 生产消费者模式与python+redis实例运用(中级篇)
上一篇文章介绍了生产消费者模式与python+redis实例运用(基础篇),但是依旧遗留了一个问题,就是如果消费者消费的速度跟不上生产者,依旧会浪费我们大量的时间去等待,这时候我们就可以考虑使用多进程 ...
- oracle 查询之前的表数据
SELECT * FROM Student AS OF TIMESTAMP SYSDATE - 3/1440 对SQL的解释说明: SYSDATE :当前时间 1440 :24h*60m=1440m ...
- Eucalyptus-NC管理
1.前言 Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) ...
- 微信iOS端无法执行jquery on()方法
微信iOS端无法执行jquery on()方法,click方法可以, 如下代码是不会执行的: $(function(){ $('body').on('click','.cka',function(){ ...
- python字符串及字符串操作
字符串介绍 1.字符串在内存中的存储: 2.字符串相加: 3.字符串的格式化: In [1]: a = 100 In [2]: a Out[2]: 100 #100<255,在堆内存下占用了一个 ...
- Sqlserver列出所有数据库名,表名,字段名【转】
1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 注意: 表Master与SysDatabases之间有两个点 2.获取所 ...
- 绿卡基础知识:I-129
绿卡基础知识:I-129 标签: 绿卡基础知识 I-129 表格本不该你来填的.那是你老板的 business.在美国工作,除非是公民或有绿卡,都需要移民局的批准.如果你没有 EAD,I-129 就是 ...
- mysqlbench使用
看见不少人问mysqlbench怎么用,这个好像没什么困难的,基本看的懂英文就可以使用了,感觉像使用word一样. 下载地址http://www.mysql.com/products/workbenc ...
- VM安装centOS6.9
1.首先要下载一个centos的iso镜像,用VMware创建一个空白硬盘. 2.创建完毕再设置里面挂载iso的centos系统文件. 3.进入到这个页面: 说明: ①install or upgra ...