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)

相关推荐

  • ios开发中的技术难点(ios开发注意事项)

    技术iOS开发安全的方法是什么这篇文章主要讲解了“iOS开发安全的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“iOS开发安全的方法是什么”吧! 一、网络方面用

    攻略 2021年12月20日
  • jquery中$是啥意思

    技术jquery中$是啥意思本篇内容介绍了“jquery中$是啥意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    攻略 2021年11月13日
  • prt文件如何转bim文件(bim格式和prt格式能通用吗)

    技术sdbimprt导入工具支持导入DD-MON-YY格式的日期吗这篇文章主要介绍“sdbimprt导入工具支持导入DD-MON-YY格式的日期吗”,在日常操作中,相信很多人在sdbimprt导入工具支持导入DD-MON

    攻略 2021年12月22日
  • 如何分析Linux PIE/堆栈内存损坏漏洞CVE-2017-1000253

    技术如何进行Linux PIE/stack 内存破坏漏洞CVE-2017-1000253分析本篇文章为大家展示了如何进行Linux PIE/stack 内存破坏漏洞CVE-2017-1000253分析,内容简明扼要并且容

    2021年12月21日
  • css中怎么设置边框大小和颜色

    技术css中怎么设置边框大小和颜色小编给大家分享一下css中怎么设置边框大小和颜色,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年11月14日
  • oracle中出现ORA-01102错误怎么办

    技术oracle中出现ORA-01102错误怎么办这篇文章主要介绍了oracle中出现ORA-01102错误怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解

    攻略 2021年11月24日