HBase的体系结构和架构原理

简介: HBase的体系结构和架构原理

一、HBase的体系结构:主从架构


1、主节点:HMaster 管理员


作用:


1、为Hregionserver分配region:区域

2、负责Hregionserver的负载均衡

3、发现失效的Hregionserver并重新分配其上的region

4、接收客户端的请求:对HBase表进行增删改查等操作


2、从节点:Hregionserver


作用:


1、保存region,处理用户对region的IO请求(增删改查)


2、向HDFS中读写数据


Hregionserver越多,HBase/hadoop的实时查询存储能力越大,查询速度越快

把HBase抽象成一个图书馆,Hregionserver抽象成书架


HBase和Hadoop属于横向扩展的开源组件


3、Zookeeper:分布式应用程序协调服务


作用:


1、保存HBase集群结构信息:HMaster、Hregionserver,表的信息(-ROOT-:保存所有Meta表的信息 .META.:保存region的元信息) region的元信息


2、实现HBase集群的HA(High Availability:高可用性)功能


二、HBase架构原理:


20180705131045400 (1).png


1、对比HDFS和HBase:


HBase:


数据最终保存在Datanode中(表:目录 记录:Hfile文件) 实时查询/随机访问功能


数据元信息保存在Zookeeper中


HDFS:


文件保存在Datanode中 永久存储文件


文件元信息保存在Namenode中


2、客户端通信机制:


1)客户端通过RPC(Remote Process C远程过程调用协议)与HMaster和Hregionserver通信


2)客户端与HMaster通信进行管理类的操作


3)客户端与Hregionserver通信进行数据读写操作


注:相同行键为一条记录,一个行键/一条记录为一个region


3、解析HBase架构原理图:


Region:区域


store:仓库 多个store组成一个region,一个store保存一个列族


storefile:仓库文件 一个memstore和多个storefile组成一个store 一个storefile保存一个Hfile


memstore:内存仓库 保存最新一批数据的更新操作 128M阈值 溢写形成storefile 多个storefile最终会合并成一个storefile


storefile大小大于256M region会自动分裂 另一个region由HMaster分配给其他regionserver,实现负载均衡


storefile文件小于<128M


Datanode保存的Block storefile—->Hfile保存在HDFS中


相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8天前
|
SQL Java 数据库连接
Mybatis架构原理和机制,图文详解版,超详细!
MyBatis 是 Java 生态中非常著名的一款 ORM 框架,在一线互联网大厂中应用广泛,Mybatis已经成为了一个必会框架。本文详细解析了MyBatis的架构原理与机制,帮助读者全面提升对MyBatis的理解和应用能力。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Mybatis架构原理和机制,图文详解版,超详细!
|
22天前
|
开发者 容器
Flutter&鸿蒙next 布局架构原理详解
本文详细介绍了 Flutter 中的主要布局方式,包括 Row、Column、Stack、Container、ListView 和 GridView 等布局组件的架构原理及使用场景。通过了解这些布局 Widget 的基本概念、关键属性和布局原理,开发者可以更高效地构建复杂的用户界面。此外,文章还提供了布局优化技巧,帮助提升应用性能。
80 4
|
22天前
|
存储 Dart 前端开发
flutter鸿蒙版本mvvm架构思想原理
在Flutter中实现MVVM架构,旨在将UI与业务逻辑分离,提升代码可维护性和可读性。本文介绍了MVVM的整体架构,包括Model、View和ViewModel的职责,以及各文件的详细实现。通过`main.dart`、`CounterViewModel.dart`、`MyHomePage.dart`和`Model.dart`的具体代码,展示了如何使用Provider进行状态管理,实现数据绑定和响应式设计。MVVM架构的分离关注点、数据绑定和可维护性特点,使得开发更加高效和整洁。
147 3
|
1月前
|
容器
Flutter&鸿蒙next 布局架构原理详解
Flutter&鸿蒙next 布局架构原理详解
|
12天前
|
存储 缓存 监控
【赵渝强老师】HBase的体系架构
本文介绍了HBase的体系架构,包括HMaster、RegionServer和ZooKeeper的主要功能。HMaster负责Region的分配和管理,RegionServer处理数据的读写操作,ZooKeeper维护集群状态并协调分布式系统的运行。文章还详细解释了Region、WAL预写日志、Block Cache读缓存和MemStore写缓存的作用。
|
1月前
|
存储 监控 分布式数据库
百亿级存储架构: ElasticSearch+HBase 海量存储架构与实现
本文介绍了百亿级数据存储架构的设计与实现,重点探讨了ElasticSearch和HBase的结合使用。通过ElasticSearch实现快速检索,HBase实现海量数据存储,解决了大规模数据的高效存储与查询问题。文章详细讲解了数据统一接入、元数据管理、数据一致性及平台监控等关键模块的设计思路和技术细节,帮助读者理解和掌握构建高性能数据存储系统的方法。
百亿级存储架构: ElasticSearch+HBase 海量存储架构与实现
|
1月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
54 3
|
2月前
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
92 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
70 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
33 3
下一篇
无影云桌面