使用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 ...
随机推荐
- 浅谈堆-Heap(一)
应用场景和前置知识复习 堆排序 排序我们都很熟悉,如冒泡排序.选择排序.希尔排序.归并排序.快速排序等,其实堆也可以用来排序,严格来说这里所说的堆是一种数据结构,排序只是它的应用场景之一 Top N的 ...
- 显示单位px、dip以及sp的区别
dip: Device Independent Pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA推荐使用这个,不依赖像素. p ...
- chart.js 使用方法 特别说明不是中文的
以上是一个饼图的案例,其他统计类型查看文档 http://www.chartjs.org/docs/latest/charts/doughnut.html 注意看域名 chartjs.org 不是 ...
- 如何查看win10已激活密钥?查看win10已激活完整密钥的方法!
如何查看win10已激活密钥?查看win10已激活完整密钥的方法! HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/So ...
- Android 类似360悬浮窗口实现源码
当我们在手机上安装360安全卫士时,手机屏幕上时刻都会出现一个小浮动窗口,点击该浮动窗口可跳转到安全卫士的操作界面,而且该浮动窗口不受其他activity的覆盖影响仍然可见(多米音乐也有相关的和主界面 ...
- sql & sqlalchemy join多个表
# 连接两个数据表的用法: FROM Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort # 语法格式可以概 ...
- mybat-大文件的存取
在mybatis中存储大文件可以直接存 取的时候取出来的是二进制 1.在实体类中添加大文本和图片 package com.java1234.model; public class Student { ...
- 联动选择通过ajax获取选择对应的数据
网站有时候需要这种联动然后获取到想对应的数据 思路: 这种的话就是你每次选择哪一个就将这个设置一个标注 表示你现在选择的是哪一个 然后每选择一次就进行一次ajax查询,ajax里面有一个data里面添 ...
- SAP云平台运行环境Cloud Foundry和Neo的区别
SAP云平台提供了两套运行环境:Cloud Foundry和Neo 从下图能发现,Cloud Foundry的运行环境,基础设施由第三方公司提供,比如Amazon亚马逊和Microsoft微软,SAP ...
- Android(java)学习笔记152:采用get请求提交数据到服务器(qq登录案例)
1.GET请求: 组拼url的路径,把提交的数据拼装url的后面,提交给服务器. 缺点:(1)安全性(Android下提交数据组拼隐藏在代码中,不存在安全问题) (2)长度有限不能超过4K(h ...