Hbase原理与架构

作者: Tim在路上 | 来源:发表于2018-10-31 07:20 被阅读48次

我们都知道Hbase是一个构建在HDFS上的分布式列存储系统。Hbase主要用于海量数据的结构化存储。

Hbase是构建在HDFS上,可以使用MapReduce直接操作,或者使用直接使用。

HDFS的问题,HDFS只支持批处理的场景,不支持数据的随机查找,不适合增量数据查找,不支持数据更新。

Hbase特点

  • 一个表可以承装上百万列
  • 每一行的列可以动态的添加,不同行可以有不同的列
  • 面向列族的存储和权限控制,数据即索引
  • 对于空的列,不占用存储空间,表可以设计的非常稀疏
  • Hbase中都是字符串,每个单元格可以插入多个数据版本。
Hbase逻辑视图

Hbase的所有的操作都是基于rowkey的
支持put,get,scan多行操作支持,scan,multiput

Hbase物理模型

每一个列族存储在HDFS上的一个单独文件上,Hfile中。


Hbase中的数据结构

Hbase实际上是维护了一个多级索引:

<key,column family,column name,timestamp>
Table 中所有行都是按照rowkey进行字典排序,同时在行的方向上分为多个Region

Region按大小进行分割,每一个表开始只有一个Region,随着数据的增多,Region不断增大,当增大到一个阈值时,Region就会分割为两个Region,以及更多Region.

同时Region是Hbase中分布式存储的最小单位,不同的Region分布到不同的RegionServer上。

Hbase 存储
Region是分布式存储的最小单元,但不是存储的最小单元。Region由多个Store组成,每一个Store保存一个列族。

每一个Store又包括memStore和StoreFile组成。

Hbase架构

Hbase架构
  • Client

包含访问HBase的接口,并维护cache来加快对HBase的访问。

  • zookeeper

保证任何时候,集群中只有一个master 存贮所有Region的寻址入口,实时监控Region server的上线和下线信息。并实时通知给Master ,存储HBase的schema和table元数据。

  • Master

为Region server分配region ,负责Region server的负载均衡,发现失效的Region server并重新分配其上的region ,管理用户对table的增删改查操作。

  • Region Server

Region server维护region,处理对这些region的IO请求 Region server负责切分在运行过程中变得过大的region

WAL

write-ahead-log,预先写日志,指的是在写数据的时候,先写Log这样当写Region失败后可以进行找回。

Master容错:Zookeeper重新选择一个新的Master 无Master过程中,数据读取仍照常进行; 无master过程中,region切分、负载均衡等无法进行;

RegionServer容错:定时向Zookeeper汇报心跳,如果一旦时 间内未出现心跳 Master将该RegionServer上的Region重新分配到其他RegionServer上;

失效服务器上“预写”日志由主服务器进行分割并派送给新的 RegionServer

Zookeeper容错:Zookeeper是一个可靠地服务 一般配置3或5个Zookeeper实例。

相关文章

  • HBase架构与原理

    HBASE基本概念 Hbase是构建在HDFS上的分布式列存储系统,用于海量结构化数据存储 为什么需要HBASE?...

  • Hbase架构与原理

    Hbase架构与原理 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang所撰写的Goo...

  • Hbase原理与架构

    我们都知道Hbase是一个构建在HDFS上的分布式列存储系统。Hbase主要用于海量数据的结构化存储。 Hbase...

  • HBase

    简述 1 HBase的应用场景 2 HBase的概念与定位 3 HBase架构体系与设计模型 HBase架构体系 ...

  • 《Hbase企业应用开发实战》笔记-第6章 SQL引擎

    hbase和hive集成 架构图架构图优缺点 原理把sql转为 mapreduce 客户端和hbase交互,效率低...

  • HBase架构原理

    一、什么是HBase HBase是一个高可靠、高性能、面向列、可伸缩、实时读写的分布式存储系统,利用HBase技术...

  • hbase

    1、hbase架构及基本原理? 2、HBase与传统关系型数据库如MySQL的区别? 3、读写性能对比读快还是写快...

  • Hbase学习资料

    HBase数据模型解析和基本的表设计分析 Hbase原理、基本概念、基本架构 HBase 超详细介绍 Apache...

  • HBase学习笔记(二)HBase架构

    HBase Architectural Components(HBase架构组件) HBase架构也是主从架构,由...

  • HBase学习笔记

    在对HBase进行操作之前,首先学习一下HBase的基础架构和运行原理。这里讲解了 HBase 在大数据生态圈中的...

网友评论

    本文标题:Hbase原理与架构

    本文链接:https://www.haomeiwen.com/subject/cgngtqtx.html