HBase,region以及HFile概念

  HBase的region的概念,在逻辑上和table是1:1的关系;但是region在物理实现上对应的是HFile,于是就存在一个region的分割的逻辑,其实似乎region的物理实现HFile的分割。

  那么HFile的分割之后数据是一分为二了,那么未来向HFile中插入数据的时候怎么知道向那个HFile中插入呢?其实每个HFile都会有自己的startRowKey以及endRowKey;被一分为二的HFile在META表中会被重新分配startRowKey以及endRowKey信息;这个两个HFile的startRowKey以及EndRowkey的合集的区间是split前的HFile的范围。

  那么什么是HFile,和region到底是什么关系?我们首先看一下hbase官方的一张图:

  一个Table对应一个region,这里region是一个逻辑概念(越到底层越物理)。每个Table有多个CF,每个CF对一个HFile(StoreFile)。通常讲的region的split其实即使对于底层的HFile的分割。

原文地址:https://www.cnblogs.com/xiashiwendao/p/8972297.html

时间: 2024-10-10 13:32:13

HBase,region以及HFile概念的相关文章

HBase Region的flush过程

触发region flush的因素有很多,如手动触发,memstore压力触发,memstore到达限制触发,flush时间触发等. regionserver的flush由 flush实际操作步骤为 1.获得region写锁,将region的所有store执行prepare,产生snapshort,释放region写锁 2.将region的所有store执行flushcache,将数据写入hdfs中的一个或多个临时文件中 3.将临时文件移到region/store相应的目录下,删除memstor

Hbase原理、基本概念、基本架构

概述 HBase是一个构建在HDFS上的分布式列存储系统;HBase是基于Google BigTable模型开发的,典型的key/value系统;HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储;从逻辑上讲,HBase将数据按照表.行和列进行存储.与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力.Hbase表的特点大:一个表可以有数十亿行,上百万列;无模式:每行都有一个可排序的主键和任意多的列,列可以根据

Hbase Region Server整体架构

Region Server的整体架构 本文主要介绍Region的整体架构,后续再慢慢介绍region的各部分具体实现和源码 RegionServer逻辑架构图 RegionServer职责 1.      监听协作,通过zk来侦听master.meta位置.集群状态等信息的变化,更新本地数据. 2.      管理region的offline.online.open.close等操作,这些操作是和hmaster配合这来做的,region的状态有如下这些 offline.opening.open.

hbase region, store, storefile和列簇,的关系

先来一张大图. Hbase上Regionserver的内存分为两个部分,一部分作为Memstore,主要用来写:另外一部分作为BlockCache,主要用于读数据:这里主要介绍写数据的部分,即Memstore.当RegionServer(RS)收到写请求的时候(writerequest),RS会将请求转至相应的Region.每一个Region都存储着一些列(a set of rows).根据其列族的不同,将这些列数据存储在相应的列族中(Column Family,简写CF).不同的CF中的数据存

HBase(一) —— 基本概念及使用

一.安装&启动 下载 https://hbase.apache.org/downloads.html 快速开始文档 https://hbase.apache.org/book.html#quickstart 启动 ./hbase shell 基本操作 进入控制台 hbase shell 报错 ERROR: KeeperErrorCode = NoNode for /hbase/master list 显示数据库表 Describe 表名 Scan 表名 查看数据 Disable 表名 表设置成不

Hbase region 某个regionserver挂掉后的处理

现象描述:某个regionserver服务挂掉后,此节点的Regions为0. 重启及数据恢复过程如下:() 切记在hadoop用户下: 第一步启动regionserver /hbaseStallDir/bin/graceful_stop.sh 192.168.5.164 /hbaseStallDir/bin/hbase-daemon.sh start regionserver /app/cloud/hadoop/bin/hadoop-daemon.sh start datanode 第二部:启

hbase region与内存的关系

http://hbase.apache.org/book.html#ops.capacity.regions.count In production scenarios, where you have a lot of data, you are normally concerned with the maximum number of regions you can have per server. too many regions has technical discussion on th

HBASE REGION SPLIT策略

hbase 0.94.0版本中,对于region的split方式引入了一个非常方便的SplitPolicy,通过这个SplitPolicy,可以主动的干预控制region split的方式.在org.apache.Hadoop.hbase.regionserver包中,可以找到这么几个自带的splitPolicy: ConstantSizeRegionSplitPolicy, IncreasingToUpperBoundRegionSplitPolicy, and KeyPrefixRegion

浅析HBase region的单点问题

很长一段时间以来,一个region同一时间只能在一台RS(Region Server)中打开.如果一个region同时在多个RS上打开,就是multi-assign问题,会导致数据不一致甚至丢数据的情况,这是要避免和解决的.对于正常情况而言,region本质上是单点服务的,当RS宕机时,这个RS上的region无法提供服务,直到他们在另外的RS上重新上线为止.我们首先讨论这种单点服务会导致哪些问题,然后,看看有什么解决方案. region单点导致的问题 从正常和异常两个方面对region单点可能