`

HBase中 Region类

阅读更多
一个Region在HBase中用一个HRegionInfo表示。该类定义在文件HRegionInfo.java中。一个Region包括如下几个重要属性:
// 代表Region的开始Key
byte [] startKey = HConstants.EMPTY_BYTE_ARRAY;

// 代表Region的结束Key
byte [] endKey = HConstants.EMPTY_BYTE_ARRAY;
   
// 该Region的id
long regionId = -1;

// 该Region的名字
byte [] regionName = HConstants.EMPTY_BYTE_ARRAY;

// 所在Table的表描述符
HTableDescriptor tableDesc = null;

开始Key和结束Key对应该Region中包含了哪些Row。RegionId用于唯一的标识该Region。


1. Region名字的组成:table的名字,开始Key,RegionId。函数
    createRegionName(byte[] tableName, byte[] startKey, byte[] id) 用于生产region名字。
   由于Region的名字中包含了table的名字,HRegionInfo提供了一个getTableNameFromRegionName
   用于从Region名字中返回table名字。

2. 为便于Logging,HRegionInfo类包含了字段regionNameStr,返回用于logging的Region name字符串。

3. 该Region是否是Root Region?
   tableDesc.isRootRegion() 为true表明该Region是Root Region。
   
4. 该Region是否是MetaRegion?
    tableDesc.isMetaRegion()为true表明该Region是Meta region。
   
HRegionInfo其它的字段:
split:表明该region是否已经split了,并且包含daughters。
offLine: 表明该region是否是offline的

HRegionInfo提供了一个函数encodeRegionName,对Region名字进行编码,在很多地方使用了这个编码
结果。编码采用了JenkinsHash,见http://burtleburtle.net/bob/hash/doobs.html
int encodeRegionName的实现(byte[] regionName):
    Math.abs(JenkinsHash.hash(regionName, regionName.length, 0))
分享到:
评论

相关推荐

    Hbase的region合并与拆分

    region中存储的是大量的rowkey数据 ,当region中的数据条数过多的时候,直接影响查询效率.当region过大的时候.hbase会拆分region , 这也是Hbase的一个优点 . HBase的region split策略一共有以下几种: 1、...

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

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

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

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

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

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

    java大数据作业_3HBase

    2. 请简述HBase中数据写入最后导致Region分裂的全过程 3. 如果设计一个笔记的表,表中要求有笔记的属性和笔记的内容,怎么做 4. HBase部署时如何指定多个zookeeper 5. HBase shell是基于哪种JVM运行的语言实现的 6. ...

    Hbase中文文档

    3.1. 从HBase 0.20.x or 0.89.x 升级到 HBase 0.90.x 3.2. 从 0.90.x 到 0.92.x 4. The HBase Shell 4.1. 使用脚本 4.2. Shell 技巧 5. 数据模型 5.1. 概念视图 5.2. 物理视图 5.3. 表 5.4. 行 5.5. 列族 5.6. Cells...

    hbase1.x 跟2.x比较.docx

    RIT 是 HBase 中的一个常见问题,引起 RIT 的原因包括 Region 状态变化复杂、Region 状态多处缓存、严重依赖 Zookeeper 进行状态通知等。AMv2 的改进包括 region 每次状态变化记录到 ProcedureWAL 中、region 状态...

    HBase项目文档

    RegionServer是HBase的Region的服务器端,负责管理Region的生命周期。添加节点时,需要启动RegionServer,然后将其添加到集群中。 五、动态删除节点 动态删除节点需要使用HBase的RegionServer来实现。删除节点时,...

    Hadoop之Hbase从入门到精通.doc

    HBase利用Hadoop HDFS作为其文件存储系统,并利用Hadoop MapReduce来处理HBase中的海量数据。HBase还利用Zookeeper作为协同服务,提供了稳定服务和failover机制。 二、HBase架构 HBase架构主要包括四层: 1. HDFS...

    HBASE学习分享

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

    hbase shell使用文档

    这是本人使用hbase shell的部分经验总结,一般的shell使用全部包括了。 版本,压缩,region等需求,以及使用普通shell使用hbase shell

    Hbase 二级索引方案

    在 Hbase 中,表的 RowKey 按照字典排序, Region 按照 RowKey 设置 split point 进行 shard, 通过这种方式实现的全局、分布式索引. 成为了其成功的最大的砝码。 然而单一的通过 RowKey 检索数据的方式,不再满足更多...

    HBase集群搭建

    * export HBASE_CLASSPATH=/usr/local/hadoop/conf #HBase类路径 * export HBASE_MANAGES_ZK=true #由HBase负责启动和关闭Zookeeper 4. 配置hbase-site.xml文件 hbase-site.xml文件位于/usr/local/hbase/conf目录...

    HBase视频教程下载|基于微博数据应用的HBase实战开发

    在大数据热潮中,推出了NoSQL数据库,这种天生就为分布式存储而设计的技术,尤其以Apache HBase为代表,占领海量数据存储技术的大半壁江山。本教视从实战角度出来,向学员们手把手掌握HBase使用精髓,让学员达到如下...

    Hadoop之Hbase从入门到精通 .doc

    * Pig:可以使用 Pig Latin 流式编程语言来操作 HBase 中的数据,和 Hive 类似,本质最终也是编译成 MapReduce Job 来处理 HBase 表数据,适合做数据统计。 * Hive:可以使用类似 SQL 语言来访问 HBase,当前 Hive ...

    HBase.Design.Patterns

    you will get a better idea of typical storage patterns, application design templates, HBase explorer in multiple scenarios with minimum effort, and reading data from multiple region servers. ...

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

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

    Apache HBase Primer

    网上的HBase书都比较老了,这是目前为止最新版本的HBase电子书。 Part I: Core Concepts Chapter 1: Fundamental Characteristics Chapter 2: Apache HBase and HDFS Chapter 3: Application Characteristics...

    HBase权威中文指南

    HBase中有三个主要组件:客户端库、一台主服务器、多台region服务器。可以动态地增加和移动region服务器,以适应不断变化的负载。主服务器主要负责利用Apache Zookeeper为region服务器分配region,Apache Zookeeper...

Global site tag (gtag.js) - Google Analytics