ad

打开《OpenStack 云平台-部署与高可用实战》_7.1.2.HBa se 体系结构

网友投稿 114 2023-11-13

【摘要】 本书摘自《OpenStack 云平台-部署与高可用实战》一书中第7.1.2节,肖睿 雷宇飞主编。

7.1.2.HBa se 体系结构

HBase 的体系结构是主从服务器结构,包含一个 HMaster 和多个 HRegionServer。 HMaster 负责管理所有的 HRegionServer, 而 HRegionServer 负责存储多个 HRegion, HRegion 是 HBase 中逻辑表的分块。图7.1 描述了HBase 群集中的所有成员。

下面针对主要成员进行介绍。

(1)HRegion

HBase 使用表存储数据集,表由行和列组成,这与关系型数据库类似。在 HBase 中; 当表的大小超过设定值时,会自动将表划分为多个 HRegion 。 一 个 HRegion 代表一个区 域,表和HRegion 的关系类似于HDFS 中的文件与文件块。HRegion 是 HBase 群集上分 布式存储和负载均衡的最小单位,每个HRegion 保存一个表中一段连续的数据,不同的 HRegion 通过表名和主键范围加以区分,主键范围包含开始主键和结束主键。当一个 HRegion 的容量超出设定值时,会在某行的边界把表分成两个大小基本相同的HRegion, 称为 HRegion 分裂每个 HRegion由多个 HStore 组成,每个 HStore 对应表中的一个列族。HStore 包 含 MemStore 和 StoreFile 两个组成部分,其中, MemStore 存储在内存中, StoreFile 存储在 HDFS 中。当用户执行一个写入操作时,首先将数据写入 MemStore, 当 MemStore达到一定的容量后,再将数据写入 StoreFile 。StoreFile 是 HBase 中的最小 存储单元,底层由HFile 实现, HFile 是 HDFS 中的二进制格式文件,内部以键值对 的格式进行存储。

打开《OpenStack 云平台-部署与高可用实战》_7.1.2.HBa  se 体系结构

根据前面的介绍,在HBase 中不能直接执行更新或删除数据操作,所有的更新或删 除均通过插入的方式实现,在表中则以追加新行的形式体现。当StoreFile 的数量超过设 定的阈值时,将触发合并操作,即将多个 StoreFile 合并为一个 StoreFile, 在 StoreFile 合 并的同时进行数据的更新和删除操作。

(2)HRegionServer

在 HBase 中 ,HRegionServer 负责响应用户的 IO 请求,并向 HDFS 中读写数据。 一台机器上只运行一个 HRegionServer 。HRegionServer 包含 HLog 和 HRegion 两部分, 其中,HLog 用于故障恢复,通过Hregion 进行的写操作会首先被追加到HLog 日志中, 之后才被加入到内存的 MemStore 中。当某台 HRegionServer 发生故障时,它所维护的 HRegion 将会被重新分配到新的主机上,该主机上的 HRegionServer 在加载 HRegion 的 同时通过HLog 对丢失的数据进行恢复。而 HRegion 则对应逻辑表中的分块,并且每个 HRegion 只会被一个 HRegionServer 管理。

(3)HMaster

HMaster 负责管理 HRegionServer, 所有的 HRegionServer 都通过和 HMaster 服务器 通信来确定需要维护哪些 HRegion。在 HBase中,可以存在多个HMaster, 这些 HMaster 通过 ZooKeeper 的选举机制最终确定一个 Active Master, 并保证其正常工作。而其他 HMaster 成为 Backup Master, 当 Active Master出现故障时, Backup Master 将自动接管 HBase 群集。HMaster 具体包括以下功能。

● 管理用户对表的增、删、改、查操作;

● 管理 HRegionServer 的负载均衡,调整 HRegion 分布;

● 在HRegion 分裂后,负责新 HRegion 的分配;

● 在HRegionServer停机后,负责失效HRegionServer上的 HRegion 迁移。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_2.2.2 字符串常用操作方法
下一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_4.1 助手pip
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×