HBase系统架构详解(一)

HBase与Hadoop架构图:
在这里插入图片描述
HBase架构组成:
HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由以下类型节点组成:

  1. HMaster节点
  2. HRegionServer节点
  3. ZooKeeper集群
  4. Hbase的数据存储于HDFS中,因而涉及到HDFS的NameNode、DataNode等。RegionServer和DataNode一般会放在相同的Server上实现数据的本地化(避免或减少数据在网络中的传输,节省带宽)。

HMaster节点

  1. 管理HRegionServer,实现其负载均衡。
  2. 管理和分配HRegion,比如在HRegion split时分配新的HRegion;在HRegionServer退出时迁移其内的HRegion到其他HRegionServer上。
  3. 实现DDL操作(Data Definition Language,namespace和table的增删改,column family的增删改等)。
  4. 管理namespace和table的元数据(实际存储在HDFS上)。
  5. 权限控制(ACL)。

HRegionServer节点

  1. 存放和管理本地HRegion。
  2. 读写HDFS,管理Table中的数据。
  3. Client直接通过HRegionServer读写数据(从HMaster中获取元数据,找到RowKey所在的HRegion/ HRegionServer后)。

ZooKeeper集群

  1. 存放整个 HBase集群的元数据以及集群的状态信息。以及RS服务器的运行状态
  2. 实现HMaster主备节点的failover
    在这里插入图片描述
    HBase Client通过RPC方式和HMaster、HRegionServer通信;一个HRegionServer可以存
    放1000个HRegion(1000个数字的由来是来自于Google的Bigtable论文);底层Table数据
    存储于HDFS中,而HRegion所处理的数据尽量和数据所在的DataNode在一起,实现数据的
    本地化;数据本地化并不是总能实现,比如在HRegion移动(如因Split)时,需要等下一次
    Compact才能继续回到本地化。
发布了63 篇原创文章 · 获赞 3 · 访问量 1432

猜你喜欢

转载自blog.csdn.net/weixin_41772761/article/details/103566102