Hbase 如何将特定行写入特定区域服务器?

Hbase 如何将特定行写入特定区域服务器?,hbase,Hbase,我有两个区域服务器,RS1和RS2。我想确保键以字母小于M开头的所有行进入RS1中的区域,然后进入RS2中的区域 如何做到这一点?你应该看看,HBase的书中有很多关于区域和分割的信息 关于您的问题,您只需要创建一个包含2个区域的表,并将每个区域分配给每个区域服务器。要创建包含2个区域的表,您只需提供一个分割点(默认情况下,仅创建1个区域) 完成后,前往您的主控台检查您的表区域http://my_master:60010/table.jsp?name=my_table Name | Regio

我有两个区域服务器,
RS1
RS2
。我想确保键以字母小于
M
开头的所有行进入
RS1
中的区域,然后进入
RS2
中的区域

如何做到这一点?

你应该看看,HBase的书中有很多关于区域和分割的信息


关于您的问题,您只需要创建一个包含2个区域的表,并将每个区域分配给每个区域服务器。要创建包含2个区域的表,您只需提供一个分割点(默认情况下,仅创建1个区域)

完成后,前往您的主控台检查您的表区域
http://my_master:60010/table.jsp?name=my_table

Name | Region Server | Start Key | End Key | Requests
my_table,,1420361349896.82ef0d5d63ecc37bc076f51f6a7d3074. | my_rs_1:60030 | | M | 0
my_table,M,1420361349897.9ce694c69f1b177a1db2dce224febb92. | my_rs_2:60030 | M | | 0
您可能会自动为每个regionserver分配一个区域,但如果两个区域位于同一个regionserver(即my_rs_1)上,您可以将其中一个区域移动到另一个区域:

hbase> move '9ce694c69f1b177a1db2dce224febb92','my_rs_2,60020,1414964067589'
请注意,move命令要求您提供编码的区域名称和完整的服务器id(您可以在此处找到区域服务器id的列表
http://my_master:60010/master-状态

然后再次前往你的主人
http://my_master:60010/table.jsp?name=my_table
检查区域是否已成功分配给其他区域服务器

hbase> move '9ce694c69f1b177a1db2dce224febb92','my_rs_2,60020,1414964067589'