使用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 ...
随机推荐
- @property的4类修饰符
一.读写性修饰符:readwrite | readonly readwrite:表明这个属性是可读可写的,系统为我们创建这个属性的setter和getter方法. readonly:表明这个属性只能读 ...
- fn先生开篇博客
开篇博客,也不清楚要写点啥nie,以前好像在CSDN上写过一点,但是由于本人工作号一直在变,忘了CSDN上的账号密码(尴尬...不确定这个以后会不会再次丢失呀),重新在开始吧. 记得以前,一直有朋友说 ...
- Spring Cloud 服务发现和消费
服务的发现和消费 有了服务中心和服务提供者,下面我们来实现一个服务的消费者: 服务消费者主要完成两个任务——服务的发现和服务的消费,服务发现的任务是由Eureka客户端完成,而服务消费的任务是由Rib ...
- 阐述简称PO,VO,TO,BO,DAO,POJO
PO(persistant object) 持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中 ...
- 【C++函数重载】求3个数中最大的数(分别考虑整数、双精度数、长整数的情况)。
#include using namespace std; int main( ) { int max(int a,int b,int c); //函数声明 double max(double a,d ...
- ArcGIS for Android 中实现要素绘制时固定MapView
最近在项目中遇到这么一个情况,在MapView中要求实现绘制点.线.面. 在这里面就会遇到这么一个问题,绘制折线和多边形型时,每点击一个点屏幕就会跟着晃,使用起来很不方便(使用Note2 触控笔),所 ...
- Mybatis-Spring整合Spring
因为 MyBatis 用 SqlSessionFactory 来创建 SqlSession ,SqlSessionFactoryBuilder 创建 SqlSessionFactory ,而在 Myb ...
- 命令行启动mysql服务
在<计算机网络>课程中曾学过net命令,可以用于启动后台服务.在mysql中,net命令用于启动后台服务器进程mysqld,即后台服务. 不过,如果在普通用户模式下net start my ...
- node18 服务器上 pytorch cyclegan 测试有问题,numpy 版本不对
提示如下错误: module compiled against API version 0xb but this version of numpy is 0xa 尝试的方法: pip install ...
- IOS NSNotificationCenter(通知 的使用)监听文本框的文字改变
监听文本框的文字改变 * 一个文本输入框的文字发生改变时,文本输入框会发出一个UITextFieldTextDidChangeNotification通知 * 因此通过监听通知来监听文本输入框的文字改 ...