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可靠性管理方法浅析的更多相关文章

  1. HBase性能优化方法总结(转)

    原文链接:HBase性能优化方法总结(一):表的设计 本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法.有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客. ...

  2. oracle使用还原段的目的和还原数据的管理方法及还原段的类型

    一.引入还原段主要有3个目的: 1.事务回滚:主要是针对rollback语句起作用 2.事务恢复:非正常关闭数据库即非保留事务级关闭数据库(abort.immediate)或者数据库instance崩 ...

  3. 现代JVM内存管理方法的发展历程,GC的实现及相关设计概述(转)

    JVM区域总体分两类,heap区和非heap区.heap区又分:Eden Space(伊甸园).Survivor Space(幸存者区).Tenured Gen(老年代-养老区). 非heap区又分: ...

  4. Oracle 用户权限管理方法

    Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...

  5. Oracle SQL 基本操作之 用户权限管理方法

     Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...

  6. C# Winform窗口之间传值的多种方法浅析(转)

    摘要http://www.jb51.net/article/63837.htm 这篇文章主要介绍了C# Winform窗口之间传值的多种方法浅析,本文起讲解了通过构造器传值.通过属性传递.通过事件携带 ...

  7. windows的三种内存管理方法

    Windows的内存管理方法 windows提供了3种方法来进行内存管理: l         虚拟内存,最适合用来管理大型对象或者结构数组 l         内存映射文件,最适合用来管理大型数据流 ...

  8. MySQL中同时存在创建和更新时间戳字段解决方法浅析

    MySQL中同时存在创建和更新时间戳字段解决方法浅析 明确我的MySQL版本.mysql> SELECT VERSION();+------------+| VERSION() |+------ ...

  9. PCA(主成分分析)方法浅析

    PCA(主成分分析)方法浅析 降维.数据压缩 找到数据中最重要的方向:方差最大的方向,也就是样本间差距最显著的方向 在与第一个正交的超平面上找最合适的第二个方向 PCA算法流程 上图第一步描述不正确, ...

随机推荐

  1. UOJ#55 [WC2014]紫荆花之恋

    题目描述 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来. 仔细看看的话,这个大树实际上是一个带权树. ...

  2. JavaWeb学习总结(一):基本概念

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  3. springmvc和spring的区别

    springmvc只是spring其中的一部分.spring 可以 支持 hibernate ,ibatis ,JMS,JDBC 支持事务管理, 注解功能,表达式语言,测试springmvc 就是一个 ...

  4. 001profile条件化创建bean

    01.类级别条件创建 @Configuration @Profile("dev") public class Aclass{}---->影响整个类,包括类的注解.开发环境,类 ...

  5. Storm-Concept

    1. Storm集群架构          strom jar all-your-code.jar backtype.storm.MyWordCounterTopology arg1 arg2 这个命 ...

  6. 算法之冒泡排序(Java语言)

    冒泡排序(英语:Bubble Sort) 是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说 ...

  7. 关于serialVersionUID与序列化"

    java序列化trick and trap 厂内经常出现序列化对象版本不匹配问题,于是发本文说明一些序列化的注意点 调用MQ.memcached.rpc等等涉及到远程通讯的都会经过序列化,虽然客户端透 ...

  8. 从golang-gin-realworld-example-app项目学写httpapi (八)

    https://github.com/gothinkster/golang-gin-realworld-example-app/blob/master/common/unit_test.go 单元测试 ...

  9. Java常见错误列表

    Java常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明 ...

  10. December 10th 2016 Week 50th Saturday

    Storms make trees take deeper roots. 风暴使树木深深扎根. Sometimes, you may feel frustrated for failing to wi ...