我无法理解如何或谁(哪个组件)负责将hbase行分配给区域或区域服务器?例如,在其他数据库系统中,客户机代码散列密钥,并询问“某个”主节点将计算出的散列的模块放在何处。例如,在cassandra中,每个节点都有关于每个节点应该存储的密钥范围的元数据,“协调器”节点只是将其转发给该节点
yduiuuwa1#
每个hbase区域由键的范围定义( [startRow, endRow) )可以储存在里面。分配给某个regionserver的每个区域,该regionserver处理对它的请求。hbase客户端扫描 meta 表,其中包含有关区域及其所在位置的信息(在哪个区域服务器上)。在每个请求上,客户机决定它应该将此请求发送到哪个regionserver。
[startRow, endRow)
meta
1条答案
按热度按时间yduiuuwa1#
每个hbase区域由键的范围定义(
[startRow, endRow)
)可以储存在里面。分配给某个regionserver的每个区域,该regionserver处理对它的请求。hbase客户端扫描
meta
表,其中包含有关区域及其所在位置的信息(在哪个区域服务器上)。在每个请求上,客户机决定它应该将此请求发送到哪个regionserver。