Code前端首页关于Code前端联系我们

Hbase详细架构图

terry 2年前 (2023-09-26) 阅读数 49 #数据库
Hbase详细架构图解

:Hbase依赖于zookeeper和hdfs,需要启动zk和hdfs。

主要组件

Zookeeper:

HBase 使用 Zookeeper 来执行 Master 高可用、RegionServer 监控、元数据录入以及集群配置维护等任务。

HDFS:

HDFS为HBase提供了终极的底层数据存储服务,同时也为HBase提供了高可用性支持。

Master:(是所有Region Server的Master,实现类为HMaster)

  • 对RegionServer的操作:
  1. 监控RegionServer
  2. 处理RegionServer 元数据 变化
  3. 处理 region 的 分配或传输
  4. 执行数据 负载均衡
  5. 其位置 在公共时间给客户端 用于表操作 (DDL) 创建、删除、修改
  6. RegionServer:(管理者为Region,实现类为HRegionServer)

    1.负责将实际数据存储到HBase

    2。处理分配给它的区域

    3。清空HDFS

    4的缓存。维持 Hlog

    5。执行压缩

    6。负责处理区域共享

    数据操作:(DML)

    get、put、delete;

    Region:

    Hbase表分区,HBase表会根据region存储在RegionServer中的RowKey值分为不同的,一个RegionServer中可以有多个不同的region。

    Hlog:

    也称为 Write-Ahead log (WAL) 预写日志。

    HBase修改记录,向HBase读写数据时,数据不会直接写入磁盘,而是会在内存中保存一段时间(时间和数据量阈值可设置)。由于数据必须经过MemStore排序后才能写入StoreFile,因此将数据存储在内存中可能更容易导致数据丢失。为了解决这个问题,数据首先会被写入一个名为 Write-Ahead log file 的文件中。然后写入内存。所以当系统出现故障时,可以通过这个日志文件来重建数据。

    Store:

    StoreFile 存储在store 中。一个Store对应HBase表中的一个列族(Column Family)。

    MemStore:

    写入缓存。由于StoreFile中的数据要求是有序的,因此数据首先存储在MemStore中。排序后,到达flush时间后会flush到StoreFile。每次刷新都会创建一个新的StoreFile。

    StoreFile:

    这是磁盘上存储原始数据的实际物理文件,是实际的存储文件。 StoreFile以Hfile的形式存储在HDFS中。每个Store都会有

    一个或多个StoreFile,每个StoreFile中的数据都是排序的(按照Rowkey的字典顺序排序)。

    Hfile:

    可以理解为一种文件格式(其他文件格式TXT、orc、parquet...),StoreFile以hfile格式保存。

    数据模型

    逻辑结构图Hbase详细架构图解

    物理存储结构Hbase详细架构图解

    1. 命名空间
      命名空间类似于关系数据库的Database概念。每个命名空间下有几个表。 HBase 有两个内置命名空间,即 hbase 和 default。 hbase存储HBase的内置表,默认表是用户默认使用的命名空间。 HBase表中的
    2. Row
      每行数据由一个RowKey和若干个Column(列)组成。数据通过RowKey按照字典顺序存储,查询数据时只能根据RowKey进行检索,所以RowKey的设计非常重要。
    3. Column
      HBase表中的每一行数据都由一个RowKey和若干列(column)组成。数据按照RowKey按照字典顺序存储,查询数据时只能根据RowKey进行检索,所以RowKey的设计非常重要。
    4. 时间戳
      用于识别数据的不同版本。每条数据写入时,如果不指定时间戳,系统会自动添加该字段,值为写入HBase的时间。 。
    5. Cell
      由{行键,列族:列限定符,时间戳}唯一标识的单元格。 Cell中的数据没有类型,全部以字节码形式存储(byte[]数组)。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门