HBase的原理和架构是什么

技术HBase的原理和架构是什么这篇文章主要为大家展示了“HBase的原理和架构是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HBase的原理和架构是什么”这篇文章吧。

本文主要向您展示“HBase的原理和架构是什么”。内容简单易懂,条理清晰。希望能帮你解开疑惑。让边肖带领大家学习《什么是HBase的原理和架构》一文。

一、逻辑存储模型

HBase以表格的形式存储数据,表格由行和列组成。柱分为几个柱族,

RowKey:Hbase使用RowKey来唯一区分某一行的数据。如图' rk001 '所示

列:Hbase将数据的存储按列族划分,列族下可以包含任意数量的列,实现灵活的数据访问。Hbase中的列越多越好。官方建议列数应小于或等于3。我们使用的场景通常是柱族。图中的“CF1”列族包含以下两列:“名称”和“别名”。

TimeStamp: Timestamp对于Hbase来说非常重要,因为它是实现Hbase多版本的关键。在Hbase中使用不同的timestame来标识对应于同一rowkey行的不同版本的数据。

单元格:在Hbase中由行键和列标识的存储单元称为单元格。每个单元格保存相同数据的多个版本。按版本时间戳索引。

二、物理存储模型

在HBase中,数据以表格的形式存储,表格由许多行组成,每行由行键和一个或多个列值组成。我们可以这样想。当表中有很多行时,我们根据一定的规则将表分成很多部分(例如,每500行)。那么拆分后的每个部分就是所谓的HRegion,这个HRegion作为一个整体被HMaster分配给一个RegionServer。这里可以理解为:把HMaster想象成一个老板,他把Hregions分配给某个服务器。因此,一个表被分成多个区域,并可能被分配给不同的区域服务器。我们刚才说HRegion是一个整体,也就是说不能再进一步划分了,它必须在一个RegionServer上。

三、总体架构

糖化血红蛋白酶的总体结构图如下:

HBase的原理和架构是什么

包括HMaster、HRegionSever、HRegion、HLog、Store、MemStore、StoreFile、HFile等。

HBase底层依托HDFS,HDFS运营通过DFS Cilent进行。

HMaster负责将HRegions分配给hregionserver,每个hregionserver可以包含多个hregonins,多个hregonins共享HLog,用于灾难恢复。

每个HRegion由一个或多个stores、Store对应表的列族组成,每个Store包含其对应的MemStore和一个或多个Stories(这是实际数据存储文件HFile的轻量级封装)。MemStore在内存中,保存修改后的数据。当MemStore中的数据被写入文件时,它就是故事。

3.1 HMaster

HMaster的主要功能是:

将区域分配给某个区域服务器。

当区域服务器关闭时,HMaster可以将这台机器上的区域迁移到活动的区域服务器。

负载平衡服务器。

回收垃圾文件(无效日志等)。)通过h dfs的dfs客户端界面

注意:HMaster没有单点问题,在HBase中可以启动多个HMaster。总有一位大师通过动物园管理员的大师选举机制。

3.2 HRegionServer

(1)维护HMaster分配给它的hregions,并处理这些hregIOns的io请求,也就是说客户端直接与HRegionServer进行处理。(从图中也可以看出)

负责分割操作过程中变得过大的区域。

3.3 HRegion

让我们来看看HRegion的结构:

每个区域由几个商店组成,每个商店拥有一个列族。如果表有多个列族,则有多个存储。每个存储由一个内存存储和几个存储文件组成。MemStore是内存中存储的内容,是写入文件后的storefile。基础存储文件以HFile格式保存。

3.4 HLog

HLog (wallog): wal表示提前写日志,用于灾难恢复。HLOG记录数据的变化,包括序列号和实际数据,因此一旦区域服务器关闭,它就可以从日志中回滚尚未持久化的数据。

3.5 HFile

糖化血红蛋白酶的数据最终以HFile的形式存储在HDFS,糖化血红蛋白酶的HFile有自己的格式。

以上就是文章《HBase的原理和架构是什么》的全部内容,感谢阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138993.html

(0)

相关推荐

  • tomcat环境变量正确无法启动(eclipse启动tomcat拒绝访问)

    技术如何解决eclipse配置Tomcat和Tomcat出现无效端口问题小编给大家分享一下如何解决eclipse配置Tomcat和Tomcat出现无效端口问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,

    攻略 2021年12月16日
  • HBase默认配置是什么

    技术HBase默认配置是什么小编给大家分享一下HBase默认配置是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!hbase.rootdir

    攻略 2021年12月9日
  • ps如何添加字体,ps如何添加字体样式文件

    技术ps如何添加字体,ps如何添加字体样式文件1ps如何添加字体、打开PS,新建一个图形文件,并随意输入一行文字2、把该行文字选上,点击如图中位置,可以选择字体样式、大小等。3、在右下侧图层栏把该图像选上,在图像中空白处

    生活 2021年10月20日
  • Redis复习

    技术Redis复习 Redis复习Redis
    Redis基础知识
    redis默认有16个数据库
    默认使用的是第0个
    基本方法
    可以使用select进行切换数据库
    127.0.0.1:6379 selec

    礼包 2021年10月26日
  • Spring Data Redis应用场景分析

    技术Spring Data Redis应用场景分析 Spring Data Redis应用场景分析在Spring Boot中,默认集成的redis是Spring Data Redis。Spring Da

    礼包 2021年12月5日
  • 敦厚的近义词和反义词,“质朴”的近义词和反义词有哪些

    技术敦厚的近义词和反义词,“质朴”的近义词和反义词有哪些“质朴”的近义词: 俭约[ jiǎn yuē ] 俭省节约——奢则妄取苟取,志气卑辱敦厚的近义词和反义词;一从俭约,则于人无求,于己无愧,是可以养气也。俭朴[ ji

    生活 2021年10月22日