HBase基础:HBase架构

架构图

在这里插入图片描述

  • hbase顶层存储依赖于HDFS存储,依赖于zookeeper进行管理协助
  • hbase自身有两个核心组件:HMaster以及HRegionServer。HMaster管理ddl操作以及namespace的操作。RegionServer管理dml的操作以及管理源数据。
  • 一个RegionServer维护多个HRegion,RegionServer通过HLog完成数据的预写操作,一个HRegion中有列族,列族用于存储数据。Store存储是隔离的,对应hdfs上不同的文件夹。
  • 数据存储存储在两个地方:一个是内存、另一个是磁盘。
  • HBase以HFile的存储格式 存储数据(HFile同parquet和orc,是一类数据格式),HFile以键值对的形式存储

架构详解

Client

Client包含了访问Hbase的接口,另外Client还维护了对应的cache来加速Hbase的访问,比如cache的.META.元数据的信息。

Zookeeper

所有客户端请求都通过zookeeper,操作实际数据的增删改查,HMaster挂掉读写也会正常进行。

连接hbase集群,连接地址只需要连接zookeeper

HBase通过Zookeeper来做master的高可用、RegionServer的监控、元数据的入口以及集群配置的维护等工作。

具体工作如下:

  • 通过Zoopkeeper来保证集群中只有1个master在运行,如果master异常,会通过竞争机制产生新的master提供服务
  • 通过Zoopkeeper来监控RegionServer的状态,当RegionSevrer有异常的时候,通过回调的形式通知Master RegionServer上下线的信息
  • 通过Zoopkeeper存储元数据的统一入口地址
  • 客户端请求到zookeeper不经过HMaster的,即客户端请求找HMaster和HRegion都是通过zookeeper来找,不经过Hmaster。操作实际数据的增删改查操作都是zookeeper交互完成。

Hmaster

master节点的主要职责如下: 为RegionServer分配Region 维护整个集群的负载均衡 维护集群的元数据信息 发现失效的Region,并将失效的Region分配到正常的RegionServer上 当RegionSever失效的时候,协调对应Hlog的拆分

HRegionServer

HRegionServer包含HLlog(保障内存中的数据不会丢失)、HRegion。

HReginServer 通过HLog,即WAL 预写入日志。

一个HReginServer维护多个HRegin。

HregionServer直接对接用户的读写请求,是真正的“干活”的节点。它的功能概括如下: 管理master为其分配的Region 处理来自客户端的读写请求 负责和底层HDFS的交互,存储数据到HDFS 负责Region变大以后的拆分 负责Storefile的合并工作

HRegin

一个HRegin有多个Store。Store在存储上是隔离的,即在HDFS上存储在不同文件夹中

Store的实际存储存储在两个地方:内存和磁盘中

HDFS

HDFS为Hbase提供最终的底层数据存储服务,同时为HBase提供高可用(Hlog存储在HDFS)的支持,具体功能概括如下: 提供元数据和表数据的底层分布式存储服务 数据多副本,保证的高可靠和高可用性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值