每日积累【Day 3】Hbase架构深入学习

简介: 每日积累【Day 3】Hbase架构深入学习

Hbase架构深入学习

Hbase

Apache HBase建立在HDFS之上的分布式、基于列存储的非关系型数据库;具有可靠、稳定、自动容错、多版本等特性;HBase实际上是Google BigTable项目的开源实现,它适合海量大规模(数十亿行、数百万列)的结构化数据存储;当需要随机、实时读写访问大数据时,使用HBase;


架构

1.png

每个服务详解:

在整个Hbase架构中,采用的是Master/Slave架构,其组成部分包括Zookeeper集群,HMaster节点,HRegionServer节点,底层存储到Hdfs集群中。
Zookeeper的作用:管理多个HMaster保证只有一个HMaster处于Active状态,其余处于stanby状态;存储所有HRegion的访问地址入口,Zookerper中的Quorum节点存储表地址信息,HMaster地址;使用watch机制监控HRegionServer的上线和下线信息,并及时通知给HMaster;存放整个 HBase集群的元数据以及集群的状态信息;还有容错机制,active状态的Hmaster宕机或者出故障之后,将正常的Stanby状态节点切换为Active状态。
Hmaster作用:管理HRegionServer,实现HRegion的负载均衡;在Region切片后负责新的Region的分布,当某个HRegionServer退出时迁移其中的Hegion到其他HRegionServer中,管理用户对命名空间以及table的元数据(实际存储在HDFS上)。
HRegionServer作用:负责监控正在运行的HRegion,处理访问HRegion的IO请求,向HDFS中读写数据;负责切分运作过程中正在变大的HRegion,拆分机制为HRegion的大小 >= HRegion数量的平方 * 128MB时继续进行切分,当HRegion数量达到9时,之后的拆分大小为10GB;Client访问HBase中的数据只需要访问zookeeper中存储的相关元数据信息,直接访问HRegionServer进行数据的读写,HMaster仅仅维护了Table和Region的元数据,因此负载很低;
Client端:整个HBase集群的访问入口;使用HBase RPC机制与HMaster和HRegionServer进行通信;与HMaster进行通信进行管理表的操作;与HRegionServer进行数据读写类操作;包含访问HBase的接口,并维护cache来加快对HBase的访问
HRegion:是HBase根据rowkey切割后的产物,里面存储着切割后的StartKey和EndKey,由于rowkey是排序的,所以Client可以通过HMaster快速的定位每个RowKey在哪个HRegion中。
HRegionServer一般和DataNode在同一台机器上运行,实现数据的本地性。HRegionServer包含多个HRegion(0~1000)
HRegion由WAL(HLog)、store组成 Store由MemStore、StoreFile组成
HRegion由WAL(HLog)、store组成 Store由MemStore、StoreFile组成
Store是由列簇Column Family切分而成的
MemStore是一个写缓存(In Memory Sorted Buer),所有数据的写在完成WAL日志写后,会 写入MemStore中,由MemStore根据一定的算法将数据Flush到底层HDFS文件中(HFile),通常每个HRegion中的每个Column Family有一个自己的MemStore。


相关文章
|
1月前
|
Dubbo Java 应用服务中间件
Apache ShenYu 架构学习指南
Apache ShenYu 是一款高性能、插件化的微服务API网关,基于Spring WebFlux + Reactor 构建,支持多协议、动态配置与实时数据同步。本指南以通俗类比和实战路径,带你深入理解其架构设计、核心流程与源码实现,助力快速掌握并参与贡献。
304 12
|
1月前
|
Kubernetes Go API
Kubeflow-Model-Registry-架构学习指南
Kubeflow Model Registry 是一个用于管理机器学习模型元数据的基础设施,采用 Go、Python、React 和 Kubernetes 技术栈,支持模型版本、注册与存储追踪。本指南系统解析其分层架构、核心流程与代码结构,提供从环境搭建到贡献代码的完整学习路径,助力开发者深入掌握模型管理实践。
147 0
|
1月前
|
Kubernetes Go 调度
Kubeflow-Trainer-架构学习指南
本指南系统解析Kubeflow Trainer架构,涵盖核心设计、目录结构与代码逻辑,结合学习路径与实战建议,助你掌握这一Kubernetes原生机器学习训练平台的原理与应用。
429 139
|
1月前
|
Kubernetes API 开发工具
Kubeflow-Pipelines-架构学习指南
本指南带你深入 Kubeflow Pipelines 架构,从零掌握 ML 工作流编排。涵盖核心组件、代码结构、开发调试及贡献流程,结合实战练习与学习路径,助你由使用者进阶为贡献者。
379 139
|
1月前
|
Kubernetes Cloud Native Go
Kubeflow-KServe-架构学习指南
KServe是基于Kubernetes的生产级AI推理平台,支持多框架模型部署与管理。本指南从架构解析、代码结构到实战部署,系统讲解其核心组件如InferenceService、控制器模式及与Knative、Istio集成原理,并提供学习路径与贡献指南,助你快速掌握云原生AI服务技术。
470 139
|
4月前
|
人工智能 自然语言处理 开发工具
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
本文介绍统一多模态 Transformer(UMT)在跨模态表示学习中的应用与优化,涵盖模型架构、实现细节与实验效果,探讨其在图文检索、图像生成等任务中的卓越性能。
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
|
1月前
|
并行计算 PyTorch 算法框架/工具
vLLM 架构学习指南
本指南深入解析vLLM高性能推理引擎架构,涵盖核心创新PagedAttention与连续批处理技术,结合代码结构、学习路径与实践建议,系统指导用户从入门到贡献源码的全过程。
552 2
vLLM 架构学习指南

热门文章

最新文章