HBase整体架构

Posted Tenic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase整体架构相关的知识,希望对你有一定的参考价值。

HBASE整体架构如下图

Client客户端

  • Client是操作HBase集群的入口
    • 对于管理类的操作,如表的增、删、改操纵,Client通过RPC与HMaster通信完成
    • 对于表数据的读写操作,Client通过RPC与RegionServer交互,读写数据
  • Client类型:
    • HBase shell
    • Java编程接口
    • Thrift、Avro、Rest等等

ZooKeeper集群

  • 作用
    • 实现了HMaster的高可用,多HMaster间进行主备选举
    • 保存了HBase的元数据信息meta表,提供了HBase表中region的寻址入口的线索数据
    • 对HMaster和HRegionServer实现了监控

HMaster

  • HBase集群也是主从架构,HMaster是主的角色,是老大
  • 主要负责Table表和Region的相关管理工作:
  • 关于Table
    • 管理Client对Table的增删改的操作
    • 关于Region
      • 在Region分裂后,负责新Region分配到指定的HRegionServer上
      • 管理HRegionServer间的负载均衡,迁移region分布
      • 当HRegionServer宕机后,负责其上的region的迁移

HRegionServer

  • HBase集群中从的角色,是小弟
  • 作用
    • 响应客户端的读写数据请求
    • 负责管理一系列的Region
    • 切分在运行过程中变大的region

Region

  • HBase集群中分布式存储的最小单元
  • 一个Region对应一个Table表的部分数据

以上是关于HBase整体架构的主要内容,如果未能解决你的问题,请参考以下文章

HBase-整体架构及读写原理

HBase的Write Ahead Log (WAL) —— 整体架构线程模型

HBase 容错机制详述

hbase 的架构及设计

HBase 的架构及设计

flume-ng 源码分析-整体架构之一启动篇