hbase如何在多个regionserver中拆分记录?

ni65a41a  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(374)

我有群集设置 Hbase : 1 H主节点和3个区域服务器
我想知道:当我们在表中插入多行时,hbase如何在多个regionserver中分割记录?
Hfile 已排序键值记录( rowKey:cf:TimeStamp ) ?
如果是,则hbase如何在事务表中维护已排序的键顺序。
我读到了meta table menta表信息,比如(table\u name,region(startkey endkey))是否正确?

ybzsozfc

ybzsozfc1#

我对你的问题有点困惑,但是当你在表中插入多行时,会对 .META. 表中找到应该获取突变的区域,然后客户端将其发送到相应的hbase区域服务器。
hfiles实际上是带有keyvalues的排序文件,keyvalues看起来更像 <keylength> <valuelength> <rowlength> <row> <columnfamilylength> <columnfamily> <columnqualifier> <timestamp> <keytype> <value> http://hbase.apache.org/book/hfilev2.html
http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/keyvalue.html
排序发生在所有压缩中,即当您添加一行时,它将被添加到 memtable ,它曾经在 memtable 它将对它们进行分类并将它们倾倒到 HFile (即合并压实)。当一个系统存在多个hfiles时 region hbase将以排序方式(称为主要压缩)将它们合并在一起。
元表维护区域信息,例如表名、区域开始键、结束键以及为其提供服务的服务器。

相关问题