栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

HBase:Meta表详解

HBase:Meta表详解

meta的必要性:   

       Hbase一张表的数据是由多个Region构成,而这些Region是分布在整个集群上的RegionServer上的。那么客户端在做任何数据操作时,都要确定数据在哪些Region上,然后再根据Region和RegionServer的对应关系,去相应的RegionServer中读取数据。

        hbase:meta就是专门用来存储和Region相关的信息,这里的hbase表示namespace,meta是系统表,因此用全局统一的命名空间;

        这个表只有一个列簇,即info。并且,Hbase保证meta表始终只有一个Region,这是为了确保meta多次操作的原子性(即要不这些操作全成功,要不这些操作一个都没有做)。

Meat表内具体存放哪些信息: 

rowkey:由四个字段拼接起来,分别是 表名-StratRow-TimeStamp-EncodedName。

数据分为4列:

info:regioninfo:EncodedName、RegionName、Region的StartRow、Region的StopRow;

info:seqnumDuringOpen:存储Region打开时的sequenceId;

info:server:存储Region落在哪个RegionServer上;

info:serverstartcode:存储所在的RegionServer启动时间戳;

查看meta表:

客户端定位Region;

问题:面对海量数据查询时,hbase:meta所在region如何承担数千万的流量?

解决思路:把hbase:meta表的Region信息缓存在Hbase客户端;

定位Region:Hbase客户端有一个叫做metaCache的缓存,在调用API时,客户端会先去metaCache中找到业务Rowkey所在的region,这个region在绝大多数情况下都信息不为空,且调用RPC请求到对应的RegionServer后,且该RegionServer是正确的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662840.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号