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

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技术介绍.docx

    表以定位具体的Region位置。 #### 五、HBase上的MapReduce应用 在HBase上执行批处理作业时,通常采用MapReduce模型。HBase提供了专门的TableInputFormat和TableOutputFormat,使得开发者能够将HBase表作为...

    HBase源码分析

    Region Server接收到请求后,会根据RowKey定位到具体的数据Region,并将数据持久化到HDFS上。这里涉及到HBase的Region分裂和合并机制,以确保数据分布的均匀性和高效访问。Region分裂是自动进行的,当一个Region的...

    HBase架构图

    2. **Master Server**:HBase Master主要负责全局的表和Region管理,包括Region的分配、Region Server的监控、表的增删改查以及Region的分裂与合并。它并不直接参与数据的存储和读写操作。 3. **ZooKeeper**:...

    HBase+官方文档-高清文字版

    8. **故障恢复和高可用性**:HBase利用Zookeeper实现故障检测和恢复,当Region Server失效时,Master Server能够快速重新分配其管理的Region。 9. **监控和调优**:HBase提供丰富的监控指标,如JMX接口和Web UI,...

    hbase的hbase-1.2.0-cdh5.14.2.tar.gz资源包

    7. **Region Server**:Region Server是HBase的主要工作节点,负责Region的存储和管理,包括读写操作。 8. **Zookeeper**:Zookeeper是HBase的重要组件,用于协调集群中的节点,如Region Server的位置信息。 ### ...

    Apache HBase PrimerPDF

    运维包括Region调整、负载均衡、性能调优等,HBase提供了丰富的监控指标,如Region Server状态、Region分布、请求延迟等,便于问题排查和性能优化。 通过《Apache HBase Primer》这本书,读者将深入学习HBase的...

    HBase应用架构PDF版本

    6. **读写流程**:读操作通常通过行键定位到特定的Region Server,然后在该服务器上查找数据。写操作先写入内存中的MemStore,达到一定阈值后落盘为HFile,最后通过Compaction合并成新的HFile。 7. **故障恢复**:...

    hbase API

    - **Region Server**: HBase的数据存储在Region Server上,每个Region Server负责一部分Region,Region是HBase的存储单元。 - **Region**: Region是表逻辑上的分区,随着数据增长,Region会自动分裂。 - **Column...

    hbase所需要的包

    - `hbase-region-server.jar`:HRegionServer的具体实现。 - `hbase-rest.jar`:提供RESTful API,使得非Java应用也能访问HBase。 - `lib`目录下的各种依赖库,如 ZooKeeper、protobuf 等,这些是HBase运行的基础。 ...

    HBase技术原理

    HBase提供了强一致性的读写操作,通过Master节点协调Region Server的分配和Region的分裂。Master节点还负责监控Region Server的状态,以实现故障转移和负载均衡。Region Server则负责实际的数据存储、读写操作以及与...

    hbase-2.2.5-bin.tar.gz

    - **Master Server**:管理Region Server,负责Region的分配、Region Server的监控和故障恢复。 - **Zookeeper**:协调集群状态,确保高可用性。 - **Region**:表被分割成多个Region,每个Region包含一个或多个...

    hbase_常用配置参数_以及学习笔记讲解_以及各种原理图.zip

    列举了HBase的重要配置参数,如`hbase.rootdir`(HBase元数据的存储位置)、`hbase.cluster.distributed`(是否运行在分布式模式下)、`hbase.regionserver.handler.count`(Region Server处理请求数的线程池大小)...

    hbase 学习 hbase原理 hbase资料

    - **Zookeeper**:协调HBase集群,确保Master的选举和Region的定位。 2. **HBase的数据模型** - **行键(Row Key)**:唯一标识一行数据,决定了数据的物理存储位置和访问效率。 - **列族(Column Family)**:...

    大数据云计算技术系列 Hadoop之Hbase简介(共19页).pdf

    2. Zookeeper:Hbase依赖Zookeeper进行协调和管理,包括Master选举、Region Server状态监控和Region定位等关键任务。 3. Master:Hbase Master负责Region的分配和负载均衡,元数据的管理,以及Region Server的监控...

    Apache HBase ™ Reference Guide.zip

    HBase的架构包括Region Server、Master Server、ZooKeeper等组件。 1. **Region Server**: 存储和处理表的分区,称为Region,负责数据的读写操作。 2. **Master Server**: 负责管理Region Server,表和Region的分配...

    hbase-1.2.6-bin.tar.gz

    2. **分布式架构**:HBase通过Region Server将数据分布在整个集群上,实现了水平扩展。每个Region Server负责一部分数据,当数据量增长时,可以通过分裂Region来分配负载。 3. **强一致性**:HBase使用ZooKeeper...

    HBase.docx

    - 包括Client、Zookeeper集群、HBase Master、Region Server集群以及HDFS。 以上就是关于HBase的基础知识,包括其特点、核心概念、安装部署过程、基本使用方法和架构解析。掌握这些内容,可以为进一步深入学习和...

    Hbase课程资料笔记,介绍、原理、入门实操.zip

    1. **Region服务器(Region Server)**: HBase的数据存储在Region Server上,每个Region Server负责一部分表的存储。 2. **Region划分**: 表会被动态地分割成多个Region,每个Region包含一部分行键范围。 3. **...

    hbase-2.0.0 linux软件包

    1. **HBase架构**:HBase是构建在Hadoop文件系统(HDFS)之上的,其核心架构包括Master节点、Region Server节点以及Zookeeper集群。Master节点负责全局元数据管理,Region Server存储实际的数据,并执行用户请求。...

    hbase-0.98.1源码包

    2. Region服务器:Region服务器负责存储和处理Region,是HBase的主要工作节点。 3. Master服务器:Master负责管理Region服务器,监控其状态,处理Region服务器故障,以及表和Region的元数据操作。 4. ZK协调:HBase...

Global site tag (gtag.js) - Google Analytics