标签:encode 结构 启动 dna src 命令 lazy ima during
客户端发送查询命令
scan ‘user‘, {COLUMNS => ‘base_info‘, STARTROW => ‘rk1‘, ENDROW => ‘rk3‘}
meta表存放的就是region的元数据信息。meta表格式如下:
ROW COLUMN+CELL
user,,1577522582939.b84a96d0e074272569b6fa79946e79df. column=info:regioninfo, timestamp=1577522584346, value={ENCODED => b84a96d0e074272569b6fa79946e79df, NAME => ‘user,,1577522582939.b84a96d0e074272569b6fa79946e79df.‘, STARTKEY => ‘‘, ENDKEY => ‘‘}
user,,1577522582939.b84a96d0e074272569b6fa79946e79df. column=info:seqnumDuringOpen, timestamp=1583992456271, value=\x00\x00\x00\x00\x00\x00\x00[
user,,1577522582939.b84a96d0e074272569b6fa79946e79df. column=info:server, timestamp=1583992456271, value=hadoop01:16020
user,,1577522582939.b84a96d0e074272569b6fa79946e79df. column=info:serverstartcode, timestamp=1583992456271, value=1583992398626
ROW
hbase:meta表的一个rowkey就对应一个region
hbase:meta 表的 rowkey 结构如下:
TableName,StartKey,Timestamp.EncodedName.
COLUMN+CELL
每一行数据又分为4列,分别是info:regioninfo、info:seqnumDuringOpen、info:server、info:serverstartcode。
info:regioninfo:该列对应的 Value 主要存储4个信息,即EncodedName、RegionName、Region的StartRow、Region的EndRow。
info:seqnumDuringOpen:该列对应的 Value 主要存储Region打开时的sequenceId。
info:server:该列对应的 Value 主要存储Region落在哪个RegionServer上。
info:serverstartcode:该列对应的 Value 主要存储所在RegionServer的启动Timestamp。
因此,通过meta表,客户端就知道所要查询的数据放在哪个RegionServer上的哪个region。本例子返回的就是RegionServer1中的region1。
详解hbase的寻址过程(0.96版本以后,2.0版本以前)
标签:encode 结构 启动 dna src 命令 lazy ima during
原文地址:https://www.cnblogs.com/kyle-blog/p/14288182.html