hbase 基础 —— 架构
Posted lemos
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hbase 基础 —— 架构相关的知识,希望对你有一定的参考价值。
典型的主从架构。其中 RegionServers 负责与客户端的交互,访问数据 HMaster 负责 Region 分配,DDL(create, delete tables) 操作。
1. Regions
hbase table 根据 RowKey 划分成多个 Region,Region 包含所划分范围的所有行数据。Region 存放于集群中的某个节点,称为 Region Server,其负责数据的读取与写入。一个 Region Server 可以处理大约 1000 个 regions.
2. HMaster
主要有两个作用,一个是协调 Region Server,包括启动时分配 Region,故障恢复或负载均衡时重分配 Region,还包括监控集群中的所有 Region Server 实例(监听来自 zk的通知)。二是管理功能,比如 creating, deleting, updating tables
3. Zookeeper
负责维护集群中 Server的状态(可用或不可用),并且提供服务故障通知。如果 RegionServer 失败了,通知给 active HMaster。如果 active HMaster 失败了,通知给 Inactive HMaster。
4. meta cache
hbase 中有一个特殊的 catalog 表叫作 meta 表,用于存储集群中 Region 的位置。 Zookeeper 用于保存 meta 表所在位置。
举例:
① 客户端从 Zookeeper 中查询 meta 表位于哪个 rs
② 再查询 META 表获取想要找的 row key 所在 rs。缓存这两步操作(下次直接从缓存中读,不需要经过这两个步骤)。
③ 从第二步查询到的 rs 中查询 row key 所在 Row
5. meta 表
meta 表保存系统中所有 region 的信息,类似一个 b tree
6. region server 中的组件
wal (Write Ahead Log)用于数据恢复
BlockCache 读缓存
MemStore 写缓存
Hfiles 磁盘存储
参考文章
https://mapr.com/blog/in-depth-look-hbase-architecture/
以上是关于hbase 基础 —— 架构的主要内容,如果未能解决你的问题,请参考以下文章