美文网首页
Hbase寻址流程参考

Hbase寻址流程参考

作者: liuzx32 | 来源:发表于2019-04-09 17:29 被阅读0次

1、寻址示意图

2、-ROOT-和.META.表结构

-ROOT-表结构

.META.行记录结构

image.png

3、寻址流程

现在假设我们要从Table2里面查询一条RowKey是RK10000的数据。
那么我们应该遵循以下步骤:

  1. 从.META.表里面查询哪个Region包含这条数据。
  2. 获取管理这个Region的RegionServer地址。
  3. 连接这个RegionServer, 查到这条数据。

系统如何找到某个row key (或者某个 row key range)所在的region
bigtable 使用三层类似B+树的结构来保存region位置。
第一层: 保存zookeeper里面的文件,它持有root region的位置。
第二层:root region是.META.表的第一个region其中保存了.META.表其它region的位置。通过root region,我们就可以访问.META.表的数据。
第三层: .META.表它是一个特殊的表,保存了hbase中所有数据表的region 位置信息。

说明:

(1) root region永远不会被split,保证了最需要三次跳转,就能定位到任意region 。
(2).META.表每行保存一个region的位置信息,row key 采用表名+表的最后一行编码而成。
(3) 为了加快访问,.META.表的全部region都保存在内存中。
(4) client会将查询过的位置信息保存缓存起来,缓存不会主动失效,因此如果client上的缓存全部失效,则需要进行最多6次网络来回,才能定位到正确的region(其中三次用来发现缓存失效,另外三次用来获取位置信息)。

4、总结

Region定位流程:

  • 寻找RegionServer
    ZooKeeper–> -ROOT-(单Region)–> .META.–> 用户表

  • -ROOT-表
    表包含.META.表所在的region列表,该表只会有一个Region;
    Zookeeper中记录了-ROOT-表的location。

  • .META.表
    表包含所有的用户空间region列表,以及RegionServer的服务器地址。

相关文章

  • Hbase寻址流程参考

    1、寻址示意图 2、-ROOT-和.META.表结构 -ROOT-表结构 .META.行记录结构 3、寻址流程 现...

  • Hbase

    Hbase参考 参考http://www.nosqlnotes.com/technotes/hbase/hbase...

  • HBase架构详解及读写流程

    目录一、HBase存储结构详解二、HBase写流程三、HBase读流程 Hbase是bigtable的开源山寨版本...

  • hbase之region寻址

    一、需求 从students中找到rowkey是007的所有数据 regionserver: rs5 region...

  • HBase读写数据流程

    目录一.读写流程1.1 HBase读数据流程1.2 HBase写数据流程二. 退役(decommissioning...

  • HBase 1.2.5 Java API教程

    关于HBase 1.2 安装&使用参考:HBase Reference Guide。本文重点讲解 HBase 1....

  • Hbase 入门

    Hbase简介 参考:Hbase技术详细学习笔记 如何合理的设计HBase RowKey? Hbase是分布式、面...

  • hbase体系结构

    hbase体系结构 参考资料 1、《hbase原理和实践》

  • HBase的事务

    参考:Transaction in HBase HBase的原生支持 外部项目支持 - Apache Tephra...

  • 虚拟存储器

    参考《深入理解计算机系统》第九章 1. 物理与虚拟寻址 1.1 物理寻址系统 1.2 虚拟寻址系统 MMU:存储器...

网友评论

      本文标题:Hbase寻址流程参考

      本文链接:https://www.haomeiwen.com/subject/ceyiiqtx.html