HBase可靠性管理方法浅析
HBase是一个可以进行实时读和写操作的分布式NoSQL系统,建立在HDFS之上,是Hadoop生态圈中重要的一部分。在HBase中底层存储结构采用的LSM-tree的方式进行处理,为了保证HBase的数据可靠性和可用性,HBase采用了多种方式,包括Snapshot、Replication等多种方式,下面简单分析HBase中的这几种方法。
1、Snapshot(快照)
快照是一些重要的元数据信息,这样系统管理员可以根据这些元数据信息有效的恢复到以前的状态。在系统运行过程中,有时需要恢复到以前的某个时候,保证以前的数据的可用性这时需要采用快照的方式保存以前的数据。在大规模高新能分布NoSQL系统中,为了保证系统性能,需要快速的进行系统表的快照的处理。HBase中的快照技术可以不用原始的保存原来的Table数据文件。HBase中的快照技术有如下几个作用:
- 恢复程序以前的错误。在程序或者应用运行错误的情况下,可以恢复到系统运行以前的状态
- 保存特定时间点的系统数据,可以用于生成系统特定时间点的报告
- 进行离线工作,可以把生成的快照文件导出到别的Hbase集群中进行处理
上图是HBase的架构图。在HBase中,HBase管理的snapshot的技术包括在线快照和离线快照,整个HBase的快照技术过程类似与两阶段提交过程,如下所示
Note:在完成快照过程后,HBase集群会执行compact和split过程,这时原有的HFile文件会被删除,这是需要对于原有的HFile文件进行存档,所以在compact和split完成后需要对于原有的HFile文件进行archive。如下图所示
2、Replication(集群复制技术)
HBase集群的Replication技术是指复制一个HBase集群上的数据到另外一个HBase集群上去,它的工作原则就是在两个不同的HBase集群之间进行数据的复制。HBase的Replication技术主要用于多个数据中心之间,目标是进行容灾备份。在一个主HBase集群失效以后,从HBase集群可以接替原有的主HBase集群服务原有的HBase集群服务。HBase的集群复制模式包括三种:主-从(master-slave)、主-主(master-master)、循环(cyclic),如下图所示
主-主(master-master)模式 循环(cyclic)模式
参考资料:
[1] Apache HBase Replication Overview. http://blog.cloudera.com/blog/2012/07/hbase-replication-overview-2/
[2] Introduction to Apache HBase Snapshots. http://blog.cloudera.com/blog/2013/03/introduction-to-apache-hbase-snapshots/
[3] Introduction to Apache HBase Snapshots, Part 2: Deeper Dive. http://blog.cloudera.com/blog/2013/06/introduction-to-apache-hbase-snapshots-part-2-deeper-dive/
HBase可靠性管理方法浅析的更多相关文章
- HBase性能优化方法总结(转)
原文链接:HBase性能优化方法总结(一):表的设计 本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法.有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客. ...
- oracle使用还原段的目的和还原数据的管理方法及还原段的类型
一.引入还原段主要有3个目的: 1.事务回滚:主要是针对rollback语句起作用 2.事务恢复:非正常关闭数据库即非保留事务级关闭数据库(abort.immediate)或者数据库instance崩 ...
- 现代JVM内存管理方法的发展历程,GC的实现及相关设计概述(转)
JVM区域总体分两类,heap区和非heap区.heap区又分:Eden Space(伊甸园).Survivor Space(幸存者区).Tenured Gen(老年代-养老区). 非heap区又分: ...
- Oracle 用户权限管理方法
Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...
- Oracle SQL 基本操作之 用户权限管理方法
Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...
- C# Winform窗口之间传值的多种方法浅析(转)
摘要http://www.jb51.net/article/63837.htm 这篇文章主要介绍了C# Winform窗口之间传值的多种方法浅析,本文起讲解了通过构造器传值.通过属性传递.通过事件携带 ...
- windows的三种内存管理方法
Windows的内存管理方法 windows提供了3种方法来进行内存管理: l 虚拟内存,最适合用来管理大型对象或者结构数组 l 内存映射文件,最适合用来管理大型数据流 ...
- MySQL中同时存在创建和更新时间戳字段解决方法浅析
MySQL中同时存在创建和更新时间戳字段解决方法浅析 明确我的MySQL版本.mysql> SELECT VERSION();+------------+| VERSION() |+------ ...
- PCA(主成分分析)方法浅析
PCA(主成分分析)方法浅析 降维.数据压缩 找到数据中最重要的方向:方差最大的方向,也就是样本间差距最显著的方向 在与第一个正交的超平面上找最合适的第二个方向 PCA算法流程 上图第一步描述不正确, ...
随机推荐
- COCI2017-2018-2 San
题意 有\(n \leq 40\)个节点,每个节点有权值\(H \leq 1e9\)和贡献\(v \leq 1e9\),从任意一个点可以向右跳到一个权值不小于它的节点,并获得该点贡献 可以从任意一个点 ...
- 洛谷P3939 数颜色(二分 vector)
题意 题目链接 Sol 直接拿vector维护每种颜色的出现位置,然后二分一下. #include<bits/stdc++.h> using namespace std; const in ...
- redux、immutablejs和mobx性能对比(二)
三.分析数据 1.前提说明 我对测试出的10个数据摘除最大值与最小值,然后求平均值 根据平均值我绘制了一个曲线图一个柱状图 曲线图用于查看1000-100000的性能趋势 柱状图用于比较在相同条数下r ...
- CSS知多少
1.Cascading Style Sheets 层叠样式表 2.层叠就是浏览器对多个样式来源进行叠加,最终确定结果的过程. 3. 样式的5大来源:浏览器默认样式.浏览器用户自定义样式.行内样式.内部 ...
- 使用nodeJs安装Vue-cli (win10 使用管理员身份)
TIP:win10下安装,使用管理员身份进行,否则会有权限限制. 1,安装完成node,node有自带的npm,可以直接在cmd中,找到nodeJs安装的路径下,进行命令行全局安装vue-cli.(n ...
- A memory map of an object
Phone类 package com.itheima_02; /* * 手机类: * 成员变量:品牌,价格,颜色... * 成员方法:打电话,发短信... */ public class Phone ...
- ubuntu下面解压tar.gz包报错:tar命令报错: gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error
原因: 压缩包文件不完整(损坏或者其他原因) 比如今天下载的tomcat8,使用ubuntu的命令下载的 curl -O http://apache.mirrors.ionfish.org/tomca ...
- 存储过程存储过程需要用两个'',先where再Group,再Order by
存储过程需要用两个'',先where再Group,再Order by 未完,待续
- 打通版微社区(5):部署DZ3.2
参考官方帖子http://www.discuz.net/thread-3258186-1-1.html 这是第三方的帖子http://www.discuz.net/thread-3199850-1- ...
- Windows as a Service(1)—— Windows 10服务分支
前言 作为公司的IT管理员,管理全公司Windows 10操作系统的更新一直是工作中的头疼之处.微软提供了很多方法来帮助我们管理公司的Windows 10更新,比如Windows Server Upd ...