Hbase物理架构详解

Hbase体系结构
HBase同样采用Master/Slaves的主从服务器结构,他由一个HMaster和多个HRegionServer构成而所有服务器都是通过Zookeeper协调并处理个服务器运行期间可能遇见的错误HMaster负责管理所有的HRegionServer,各HRegionServer负责存储许多HRegion,每一个HRegion是对HBase逻辑表的分块。如下图所示:
在这里插入图片描述
1.HRegion
HBase使用表存储数据集,当表的大小超过存储值设定时,HBase会自动将表划分为不同的区域(Region),每一个区域称为一个HRegion类似于HDFS中的文件与文件块的概念。一个HRegion上保存着一个表中的一段连续的数据。
最开始,一个表只有一个HRegion,随着HRegion逐渐变大,知道超出设定的阈值大小,便会在某行的边界把表分成两个大小基本相同的HRegion,称为HRegion分裂
2.HStore
每个HRegion由多个HSore组成,每个HStore对应表中的一个列族的存储。
HStore由两部分组成:MemStore和StoreFile,用户写入的数据首先放入MemStore,当MemStore(128M)满了以后再刷入StoreFile(30M)。StoreFile是HBase中的最小存储单元,底层最终由HFile实现。
3.HRegionServer
一台机器上只运行一个HRegionServer,HRegionServer包含两个部分:HLog和HRegion。
Hlog用于存储数据日志。到达HRegion的写操作首先被追加导日志中,然后才被加入内存中的MemStore。Hlog文件主要用于故障恢复。例如某台HRegionServer发生故障后,那么保存在HRegionServer中的HRegion会被分配到心得HRegionServer中,新的HRegionServer在加载HRegion的时候通过HLog来对数据进行恢复的。
HRegionServer由多个HRegion组成,每个HRegion对应表中的一个分块,HRegion由多个HStore组成,而HStore对应着一个列族。而HRegion只会被一个HRegionServer管理
3.HMaster
每个HRegionServer都会和HMaster服务器通信HMaster主要任务就是告诉HRegionServer需要存储哪些HRegion
在HBase中可以启动多个HMaster, 通过Zookeeper的Master选举机制来保证系统中总有一个Master在运行,HMaster主要一下功能:

  • 是HBase集群的主节点,可以配置多个,用来实现HA
  • 处理元数据的变更
  • 监控RegionServer
  • 负责RegionServer的负载均衡:存数据时根据HRegionServer的状态来分配数据
  • 处理RegionServer故障转移
  • 通过ZooKeeper发布自己的位置给客户端
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值