HBase架构原理(看之前请先了解HBase数据模型)

HBase架构原理(看之前请先了解HBase数据模型)_第1张图片

HBase整个架构与大数据学习生态圈一样以hadoop的HDFS文件系统为基底,通过zookeeper集群的协调建立.而集群又有自己的HMaster和HRegionServer.通过三个框架协调架构运行.

1.Region Server

         Region Server为 Region的管理者,主要作用如下: 对于数据的操作(DML):get, put, delete;对于Region的操作:splitRegion、compactRegion。

2.Master

        Master是所有Region Server的管理者,主要作用如下:  对于表的作(DDL):create, delete, alter 对于RegionServer的操作:分配regions到每个RegionServer,监控每个RegionServer

的状态,负载均衡和故障转移。

3.HLog

        HLog(WAL log):WAL意为write ahead log,用来做灾难恢复使用,HLog记录数据的所有变更,由于数据要经 MemStore 排序后才能刷写到 HFile,但把数据保存在内存中会有很高的概率导致数据丢失.一旦region server 宕机,就可以从log中进行恢复。(类似于hadoop集群中的Edits文件,将所有变更操作写到一个文件中,当前节点宕机后,可从文件中恢复)

4.HRegion

        意义相当于关系型数据库中的表概念.而hbase表定义适用于字段变更的场景

5.Mem store

        写缓存,由于 HFile 中的数据要求是有序的,所以数据是先存储在 MemStore 中,排好序后,等到达刷写时机才会刷写到 HFile,每次刷写都会形成一个新的 HFile

6.StoreFile

        保存实际数据的物理文件,StoreFile HFile 的形式存储在 HDFS 上。每个 Store 会有一个或多个 StoreFileHFile),数据在每个 StoreFile 中都是有序的

7.Hfile

        StoreFile 的文件类型,例如.log,.txt类型的文件

8.hadoop Datanode

        存储region server所管理的真实的数据,如果是虚拟机集群,则真实存在集群磁盘里面.所有的hbase数据都存在hdfs中.而hadoop的NameNode维护了物理数据块的metadata

9.zookeeper集群

        作为分布式协调框架,zookeeper分担了hbase给他的任务来一起维护hbase状态

当HMaster宕机后,负责HMaster的选举工作

zookeeper保存了meta table(存储的row key的位置信息,region位于哪个regionserver上)的信息

你可能感兴趣的:(hbase,架构,hadoop,zookeeper,大数据)