HBase核心功能模块--读书笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 客户端Client 客户端 Client 是整个 HBase 系统的入口。使用者直接通过客户端操作 HBase。客户端使用 HBase 的 RPC 机制与 HMaster 和 RegionServer进行通信。





客户端Client

 

客户端 Client 是整个 HBase 系统的入口。使用者直接通过客户端操作 HBase。客户端

使用 HBase 的 RPC 机制与 HMaster 和 RegionServer进行通信。对于管理类操作,Client 与

HMaster 进行 RPC 通信;对于数据读写类操作,Client 与RegionServer 进行 RPC 交互。这里

客户端可以是多个,并不限定是原生 Java 接口,还有 Thrift、Avro、Rest等客户端模式,甚

MapReduce 也可以算作一种客户端。

 

 

协调服务组件Zookeeper

 

ZooKeeper Quorum(队列)负责管理 HBase 中多 HMaster 的选举、服务器之间状态同

步等。再具体一些就是,HBase ZooKeeper 实例负责的协调工作有:存储 HBase 元数据信

息、实时监控 RegionServer、存储所有 Region 的寻址入口,当然还有最常见的功能就是保证

HBase 集群中只有一个HMaster 节点

 

主节点Hmaster

 

HMaster 没有单点问题,在HBase 中可以启动多个 HMaster,通过ZooKeeper Master

选举机制保证总有一个 Master 正常运行并提供服务,其他 HMaster 作为备选时刻准备(当目

HMaster 出现问题时)提供服务。HMaster 主要负责Table Region 的管理工作:

 

‰ 管理用户对 Table 的增、删、改、查操作。

 

‰ 管理 RegionServer 的负载均衡,调整 Region 分布。

 

‰ Region 分裂后,负责新 Region 的分配。

 

‰ RegionServer 死机后,负责失效 RegionServer 上的 Region 迁移。

 

 

Region 节点 HRegionServer

 

 

HRegionServer 主要负责响应用户 I/O 请求,向 HDFS 文件系统中读写数据,是 HBase

中最核心的模块。HRegionServer 内部管理了一系列 HRegion对象,每个 HRegion 对应了

Table 中的一个RegionHRegion 由多个HStore 组成,每个 HStore 对应了Table 中的一个

Column Family 的存储。可以看出每个 Column Family 其实就是一个集中的存储单元,因

此最好将具备共同 I/O 特性的列放在一个 Column Family 中,这样能保证读写的高效性。

 

 

HStore HBase 心, 成:MemStore

StoreFileMemStore Sorted Memory Buffer,用户写入的数据首先会放入 MemStore 中,当

MemStore 满了以后会缓冲(flush)成一个 StoreFile(底层实现是 HFile ,当 StoreFile 文件数

量增长到一定阈值,会触发 Compact 操作,将多个StoreFiles 合并成一个 StoreFile,在合并

过程中会进行版本合并和数据删除,因此可以看出 HBase 其实只有增加数据,所有的更新和

删除操作都是在后续的 Compact 过程中进行的,这使得用户的写操作只要进入内存中就可以

立即返回,保证了 HBase I/O 的高性能。








StoreFiles 在触发 Compact 操作后,会逐步形成越来越大的 StoreFile,当单个StoreFile

大小超过一定阈值后,会触发 Split 操作,同时把当前Region 分裂成 2 Region,父 Region

会下线,新分裂的 2 个子 Region 会被HMaster 分配到相应的 HRegionServer 上,使得原先 1

Region 的压力得以分流到 2 Region 上。

 

每个 HRegionServer 中都有一个 HLog 对象,HLog 是一个实现 Write Ahead Log 的类,

在每次用户操作写入 MemStore 的同时,也会写一份数据到HLog 文件中,HLog 文件定期

会滚动出新,并删除旧的文件(已持久化到 StoreFile 中的数据) 。在 HRegionServer 意外终

止后,HMaster 会通过 ZooKeeper 感知到,首先处理遗留的 HLog 文件,将其中不同 Region

Log 数据进行拆分,分别放到相应 Region 的目录下,然后再将失效的 Region 重新分配,

领取到这些 Region HRegionServer 在加载 Region 的过程中,会发现有历史 HLog 需要处

理,因此会将 HLog 中的数据回放到 MemStore 中,然后缓冲(flush)到 StoreFiles,完成数

据恢复。



相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
存储 Java 分布式数据库
Spring Boot 优雅实现hbase功能
【6月更文挑战第24天】要在 Spring Boot 项目中实现 HBase 和 Memcached 的功能,首先需要理解各自的原理和作用,然后通过实际操作将其集成到 Spring Boot 项目中。
168 6
|
7月前
|
存储 NoSQL 分布式数据库
分布式NoSQL列存储数据库Hbase(一)Hbase的功能与应用场景、基本设计思想
分布式NoSQL列存储数据库Hbase(一)Hbase的功能与应用场景、基本设计思想
476 0
|
SQL 分布式数据库 数据库
Phoenix(HBase SQL)核心功能原理及应用场景介绍
概况了Phoenix(云HBase SQL) ) 入门到精通系列大多数内容,介绍了核心功能原理,相关生态工具及应用场景
13488 0
Phoenix(HBase SQL)核心功能原理及应用场景介绍
|
存储 分布式计算 Oracle
Hbase迎接电信TB级大数据洗礼之热点网站功能实践
在今年年初的时候联通王志军院长就Hadoop在电信行业的大数据应用谈了自己的经验,随着3G网络的发展中国联通目前运营着世界上最大的CDMA网络,流量运营是中国联通一个重要特点。中国联通3G套餐当中流量占比非常非常大,中国联通3G用户流量使用情况也是非常可观的。那么在3G网络功能中上网冲浪占了很大的比例,去研究用户感兴趣的热点网站成为了行为分析中很有特点的一项功能,联通就可以根据这些网站信息推出增值服务,古人云:大浪淘沙始到金啊!
256 0
|
SQL 运维 Java
数据查询的玄铁剑:阿里云HBase二级索引功能解析
HBase原生提供了主键索引,用户可以根据rowkey进行高效的单行读、前缀匹配、范围查询操作。但若需要使用属性列进行查询时,则只能使用filter在查询范围内进行逐行过滤。在扫描范围较大时,会浪费大量的IO,请求RT也无法保证。为此,HBase增强版推出了原生二级索引来解决非rowkey查询的性能问题。
2280 0
数据查询的玄铁剑:阿里云HBase二级索引功能解析
|
存储 算法 大数据
阿里云时空数据库引擎HBase Ganos上线,场景、功能、优势全解析
2018年12月18日,伴随阿里云HBase全新发布X-Pack全托管NoSQL数据库平台,HBase Ganos时空数据库引擎正式上线。HBase Ganos以阿里云飞天操作系统为强大底座,结合云HBase新一代KV、时序、时空、图多模数据综合处理能力以及云上Spark大数据分析计算服务,为迎接在线时空全量大数据应用构筑PaaS(Platform-as-a-Service)平台能力。
6291 0
|
分布式数据库 Hbase
HBase read replicas 功能介绍系列
主要介绍HBase 在读可用性这块做的read replica 功能的大概介绍,包括:基本使用,读写流程的大概链路,设计的折中等等。
9717 0