对应表下的hfile数据文件。 /hbase/data/default/[TableName]/[RegionName]/recovered.edits/340.seqid 当splitlog发生时,一个RS的wal会按照region级别split WALs写到对应目录下的的recovered.edits目录上,使得此region再次被open的时候,回放这些recovered.edits日志。 /hbase/data/default/[TableName]/[RegionName]...
File Info中记录了文件的一些Meta信息,例如:AVG_KEY_LEN, AVG_VALUE_LEN, LAST_KEY, COMPARATOR, MAX_SEQ_ID_KEY等。 Data Index和Meta Index块记录了每个Data块和Meta块的起始点。 Data Block是HBase I/O的基本单元,为了提高效率,HRegionServer中有基于LRU的Block Cache机制。每个Data块的大小可以在创建一个...
每一行数据又分为4列,分别是info:regioninfo、info:seqnumDuringOpen、info:server、info:serverstartcode。 •info:regioninfo:该列对应的Value主要存储4个信息,即EncodedName、RegionName、Region的StartRow、Region的StopRow。 •info:seqnumDuringOpen:该列对应的Value主要存储Region打开时的sequenceId。 •info:s...
比如现在该rs下有4个文件,储存的是4个region的信息: file1: RegionA,4表示的是文件名是file1,其中存储了一个entry其regionname是reginA,其seqNum是4,seqnum是递增的且新建的文件的seq比原先的大 file1: RegionA,4 RegionB,5 RegionC,6 RegionD,7 file2: RegionA,8 RegionB,9 RegionC,10 file3: Regi...
版本号 VersionNum 数据的版本号,每条数据可以有多个版本号,默认值为系统时间戳,类型为Long。 物理存储 1. 整体结构 HBase的表结构 HBase 整体结构 Table 中的所有行都按照 Row Key 的字典序排列。 Table 在行的方向上分割为多个 HRegion。 HRegion按大小分割的(默认10G),每个表一开始只有一 个HRegion,随着数...
File Info中记录了文件的一些Meta信息,例如:AVG_KEY_LEN, AVG_VALUE_LEN, LAST_KEY, COMPARATOR, MAX_SEQ_ID_KEY等 Data Index和Meta Index块记录了每个Data块和Meta块的起始点 Data Block是HBase I/O的基本单元,为了提高效率,HRegionServer中有基于LRU的Block Cache机制 ...
1,hbase shell 命令 这个命令主要是进入hbase客户端client 的命令,在这里可以操作hbase 数据库,诸如:增删改查等这个命令内容较多,本文简单介绍这个命令以后会着重讲解这个命令见下面代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
然后获得该批写入memstore数据的批次号mvccNum,mvccNum同时也是此次写事务的版本号,由this.sequenceId加一获得的,然后通过w=mvcc.beginMemstoreInsertWithSeqNum(mvccNum),进入函数beginMemstoreInsertWithSeqNum,可以看见,该函数通过传入的mvccNum new一个新的WriteEntry对象,然后将WriteEntry放入队列writeQueue中,这一步加队...
TableStateManager::start扫描meta表的table:state column和HDFS上每个table目录下.tabledesc目录下最新的$seqNum.tableinfo文件(即seqNum最大的.tableinfo文件),将meta表里的tableState添加到内存中的tableState,HDFS里不存在则设置为ENABLED assignmentManager::processOfflineRegions对每个offline region创建AssignProcedure,...
(1)后台线程周期性检查:后台线程 CompactionChecker 会定期检查是否需要执行 Compaction,检查周期为hbase.server.thread.wakefrequency *hbase.server.compactchecker.interval.multiplier,这里主要考虑的是一段时间内没有写入请求导致 Flush 触发不了 Compaction 的情况。其中参数hbase.server.thread.wakefrequency 默认值是...