`
san_yun
  • 浏览: 2594488 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

hbase Region Server定位

阅读更多

参考:http://iwinit.iteye.com/blog/1811265

 

 

HBase的table是该region切分的,client操作一个row的时候,如何知道这个row对应的region是在哪台Region server上呢?这里有个region location过程。主要涉及到2张系统表,-ROOT-,.META.。其结构见图

 

在zookeeper的/hbase/root-region-server节点中存着-ROOT-表所在的Region Server地址。

-ROOT-表的一个row代表着META的一个region信息,其key的结构是META表名,META表Region的startkey,RegionId。其value的主要保存regioninfo和server信息。ROOT表不能split

.META.表的一个row代表着用户表的一个region信息,其key的结构是其实就是用户表的regionName,用户表名,startKey,RegionId。其value同样保存着regioninfo和server信息。META表可以split,但是一个region默认有128M,可以存上亿个用户表的region信息,所以一般不会split。

其查找过程如下:

1.通过zk getData拿-ROOT-表的location

2.RPC -ROOT-表的rs,getClosestRowBefore,拿row对应的meta表的region location

3.RPC .META.表的某一个region,拿该row在真实table所在的region location

4.RPC对应region

 

region location需要3次网络IO,为了提升性能,client会cache数据。

LocationCache是一个2级Map,第一级的key是tableName的hash值,第二级的key是starRow,用SoftValueSortedMap包装了TreeMap实现,用软引用实现cache,内存不够时才会回收。Cache里存在META表和用户表的region location信息。

其代码实现如下,0.94版本:

HConnectionManager locateRegion入口

分享到:
评论

相关推荐

    hbase-server-1.4.3-API文档-中文版.zip

    赠送jar包:hbase-server-1.4.3.jar; 赠送原API文档:hbase-server-1.4.3-javadoc.jar; 赠送源代码:hbase-server-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-server-1.4.3.pom; 包含翻译后的API文档:...

    HBASERegion数量增多问题描述及解决方案.docx

    HBASERegion数量增多问题描述及解决方案.docx

    hbase-server-1.1.3-API文档-中文版.zip

    赠送jar包:hbase-server-1.1.3.jar; 赠送原API文档:hbase-server-1.1.3-javadoc.jar; 赠送源代码:hbase-server-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-server-1.1.3.pom; 包含翻译后的API文档:...

    hbase-server-1.2.12-API文档-中文版.zip

    赠送jar包:hbase-server-1.2.12.jar; 赠送原API文档:hbase-server-1.2.12-javadoc.jar; 赠送源代码:hbase-server-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-server-1.2.12.pom; 包含翻译后的API文档...

    hbase-server-1.2.12-API文档-中英对照版.zip

    赠送jar包:hbase-server-1.2.12.jar; 赠送原API文档:hbase-server-1.2.12-javadoc.jar; 赠送源代码:hbase-server-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-server-1.2.12.pom; 包含翻译后的API文档...

    hbase-server-1.1.3-API文档-中英对照版.zip

    赠送jar包:hbase-server-1.1.3.jar; 赠送原API文档:hbase-server-1.1.3-javadoc.jar; 赠送源代码:hbase-server-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-server-1.1.3.pom; 包含翻译后的API文档:...

    hbase-server-0.98.8-hadoop1.zip

    elasticsearch-auth.zip,此插件筛选ElasticSearch内容。ElasticSearch的身份验证筛选器

    HBaseRegion自动切分的所有细节都在这里了

    本文来自于36大数据,这篇文章将会对这些细节进行基本的说明,一方面可以让大家对HBase中Region自动切分有更加深入的理解,另一方面如果想实现类似的功能也可以参考HBase的实现方案。Region自动切分是HBase能够拥有...

    HBase技术介绍.docx

    HBase技术介绍.docx

    Hbase的region合并与拆分

    1、region 拆分机制 ...当region大小大于某个阈值(hbase.hregion.max.filesize=10G)之后就会触发切分,一个region等分为2个region。 但是在生产线上这种切分策略却有相当大的弊端:切分策略对于大表和小表没有

    hbase-region-inspector, HBase区域统计信息的可视化仪表板.zip

    hbase-region-inspector, HBase区域统计信息的可视化仪表板 hbase-region-inspectorHBase区域统计信息的可视化仪表板。 用法下载与HBase集群版本匹配的可执行二进制插件,添加execute权限,并使用以下命令行参数启动...

    hbase-packet-inspector:分析HBase RegionServers的网络流量

    hbase-packet-inspector hbase-packet-inspector (HPI)是用于分析HBase RegionServers网络流量的命令行工具。 HPI读取tcpdump文件或捕获网络接口的实时数据包流,以提取有关客户端请求和响应的信息。 您可以对其...

    hbase

    hadoop07d_HBase体系架构

    hbase jar包.zip

    spring 集成 Hbase所需jar包

    hbase-2.0.0

    这个是hbase的压缩文件,用linux或者redhat系统,解压之后修改配置文件就可以使用

    HBASE学习分享

    HBASE的主要原理解读:包括HBase 读写逻辑、HBase region拆分和合并

    从SQLServer导入HBase的sqoop jar包

    从SQLServer导入HBase的sqoop jar包

    HbaseTemplate 操作hbase

    java 利用 sping-data-hadoop HbaseTemplate 操作hbase find get execute 等方法 可以直接运行

    hbase不同版本jar包.rar

    hbase 1.2.0和1.2.6两个版本的jar依赖包,java,Eclipse开发,导入对应版本的依赖包

Global site tag (gtag.js) - Google Analytics