介绍

hbase-基础架构-LMLPHP

hbase架构主要由hmaster,zookeeper和regionserver三部分构成,底层数据存储在hdfs中

hmaster

允许有多个master节点,使用zookeeper控制,保证只有一个master节点处于激活状态,当存活master机器宕机,其他的master节点向zookeeper竞争,成为存活的节点,hmaster主要复制table和region的工作。

  • 管理用户对table的增,删,改,查操作。
  • 管理regionServer的负载均衡,调整region分布
  • 在region分裂后,负责新region的分配
  • 在regionServer死亡后,负责对regionServer上的region的迁移  

zookeeper

  • 负责hbase中多hmaster的选举
  • 实时监控rs的存活
  • 存储hbase的元数据信息

regionserver 

rs是hbase中最核心的模块,负责响应用户i/o请求,并且向hdfs文件系统中读写数据。rs管理了一系列的HRegion。

  • 每个HRegion对应table中的一个region
  • region由多个HStore组成,每个HStore对应了一个column Family的存储
  • 每个HStore由一个MemStore和多个HFile组成
  • Memstore为写时内存,数据写入时,先写入到Memstore中,到达一定量时,flush到HFile中
  • HFile为hdfs中的小文件,数量过大时,进行compact操作,合并成一个大文件

每个rs中还有一个HLog对象,HLog的数据也是存储在hdfs上,在数据写入到MemStore中后,将数据备份一份到HLog中,防止数据丢失。

04-13 21:13