码迷,mamicode.com
首页 > 其他好文 > 详细

hbase 基础 —— 架构

时间:2020-07-26 15:21:40      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:meta   mem   不可用   保存   load   处理   map   获取   tps   

技术图片

典型的主从架构。其中 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 基础 —— 架构

标签:meta   mem   不可用   保存   load   处理   map   获取   tps   

原文地址:https://www.cnblogs.com/lemos/p/13379342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!