Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Hbase中将行分配给区域和区域服务器?_Hbase - Fatal编程技术网

如何在Hbase中将行分配给区域和区域服务器?

如何在Hbase中将行分配给区域和区域服务器?,hbase,Hbase,我无法理解如何或谁负责将hbase行分配给区域或区域服务器?例如,在其他数据库系统中,客户机代码对密钥进行散列,并询问某个主节点将计算出的散列的模块放置在何处。例如,在cassandra中,每个节点都有关于每个节点应该存储的密钥范围的元数据,协调器节点只需将其转发给该节点,每个由密钥范围定义的HBase区域[startRow,endRow,可以存储在其中。每个区域都分配给某个RegionServer,该服务器处理对其的请求。 HBase客户端扫描元表,其中包含有关区域及其在哪个区域服务器上的位置

我无法理解如何或谁负责将hbase行分配给区域或区域服务器?例如,在其他数据库系统中,客户机代码对密钥进行散列,并询问某个主节点将计算出的散列的模块放置在何处。例如,在cassandra中,每个节点都有关于每个节点应该存储的密钥范围的元数据,协调器节点只需将其转发给该节点,

每个由密钥范围定义的HBase区域[startRow,endRow,可以存储在其中。每个区域都分配给某个RegionServer,该服务器处理对其的请求。
HBase客户端扫描元表,其中包含有关区域及其在哪个区域服务器上的位置的信息。在每个请求中,客户端确定应将此请求发送到哪个区域服务器。

因此客户端根据HBase元表对输入分区键进行范围检查?它扫描并缓存表的所有区域位置。Du在下一个请求中,它使用本地缓存的知识来查找合适的RegionServer。