排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
数说
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
数说
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
HBase-架构体系
HBase-架构体系
码农大腿哥
2021-01-22
944
前言:
HBase是一个复杂的存储
框架。
为了实现海量数据的毫秒级响应,HBase在内存和磁盘中进行了很多复杂的操作。既保证了大,又保证了快。
那么HBbase是如何实现这一目标的?
这一篇,我们先来看看HBase架构体系中有哪些组件,它们又做了哪些事情。为后面的学习打好基础。
本篇目标:
1.掌握HBase架构中各组件的概念与作用
2.理解
各组件所处位置以及彼此之间的关系
01
架构
基础
在第一部分中,我们先来了解一下HBase架构中的主要组件,包括Master、Region Server、Zookeeper、Client、HDFS、StoreFile。
阅读过程中如果遇到不懂的名词可以先略过,我在本篇的第二部分中有详细介绍。
基础架构图
1.Master
Master是集群的主节点,本质上是一个进程。主要作用有:
1)负责管理元数据,如执行DDL操作、定期更新
hbase:meta
表
2)分配与移动region以保证集群的负载均衡
3)管理RegionServer,出现问题时进行故障转移
在分布式集群中,Master通常运行在NameNode上。
2.Region Server
Region Server是Region的管理者,本质上是一个进程。主要作用是:
1)负责数据的增删改查,即DML操作
2)负责region的拆分与合并
3)将
MemStore中数据刷写到StoreFiles
4)检查RegionServer的HLog文件
在分布式集群中,RegionServer都运行在DataNode上。
3.Client
Client可不经过Master直接与Region Server通信,
发出读或写请求
,所以Master挂掉的情况下,集群仍然可以运行一段时间。
4.ZooKeeper
HBase集群要依赖ZooKeeper才能运行
。主要作用是:
1)
Master高可用,协助选举Master
2)
监听
RegionServer状态(心跳),向Master汇报
RegionServer
上下线信息
3)存放与维护集群配置信息,如hbase:meta表的地址。
5.HDFS
HBase的数据最终要存储在HDFS上。
6.StoreFile
保存实际数据的物理文件,StoreFile文件存储在 HDFS 上,格式是HFile。
每个Store会产生
一个或多个
StoreFile,数据在 StoreFile 中是有序的。
PS:
NameSpace、Table、Region、Store、StoreFile之间的关系是什么?
HBase表在HDFS存储路径为:
/
hbase
/
data
/
<NameSpace>
/
<Table>
/
<Region>
/
<ColumnFamily>
/
<StoreFile>
可以认为它们依次构成了逻辑上的包含关系,StoreFile是最底层的物理存储文件。
02
架构进阶
第一部分中,我们对主要组件进行了介绍,接下来将深入细节,完善整个架构体系。
详细架构图
1
.
hbase:meta
hbase:meta(以前叫.META.)是之前说过的命名空间
hbase
中的一张表。记录了全部表的所有region相关信息,如region位于哪个Region Server上。
重点:hbase:meta表
的位置信息存储在Zookeeper中!!!
PS:
0.98版本前有一个
-ROOT-
表,用来存储
hbase:meta
表的信息,目前已经被弃用。有些博客还在介绍这个文件,直接忽略就行。
2.Meta Cache
客户端元数据缓存。记录了
table的region信息
和
habase:meta表位置信息
,方便以后查询。
3.Block Cache
读缓存。作用是缓存从HDFS读取的数据,以便下次查询使用。
4.WAL
WAL(也称HLog)叫做预写入日志,记录了HBase中所有的数据变更,并以文件方式存储在HDFS。变更记录是
以追加的形式
添加到文件中,所以效率很高。
如果MemStore中的数据没有flush到磁盘,而Region Server出现了问题,就可以通过WAL恢复数据到磁盘。
5.MemStore
往Store中写数据时,数据会先存储在内存中的MemStore。数据排好序后,等到达flush(刷写)时机时,再
flush
到 StoreFile。
MemStore的
数据写入磁盘的过程
叫做flush,MemStore
每次
flush
都会形成一个新的 StoreFile。
PS:
刷写最小的单位是region,只要发生flush,整个region都会flush。
6.HFile
HFile是HBase在HDFS中存储数据时使用的
文件格式
。它包含一个多层索引,允许HBase在不读取整个文件的情况下寻找数据。
总结:
第一部分中提到的主要组件,
不仅要记住作用,
还要认真思考它们之间是怎么配合的,有一个
整
体
的把握。
对
于
第二部分中
提到的组件,需要记住
它们
的作用,
看到
要能想起来。
在本文中提到了
flush
以及region的拆分与合并等概念,我将在
下一篇专门对这些架构相关原理进行更深入的介绍。
你学废了吗?
—
END —
数据库
文章转载自
码农大腿哥
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨