使用Hbase shell手动溢出Hbase区域

时间:2016-03-16 00:16:58

标签: hbase

我们正面临HBase地区的热点问题。所有写入都被重定向到一个区域服务器,因此某些映射需要花费大量时间。我希望使用HBase shell手动溢出该区域,但可以找到任何示例。

我看到语法溢出' regionname',溢出密钥。

但由于行密钥是随机序列号,我无法找到溢出的密钥。

什么是最佳优化方式来扩散区域服务器。

2 个答案:

答案 0 :(得分:0)

您可以使用salting,这意味着向您的rowkeys添加随机前缀值,这样所有rowkeys都不是按顺序排列。

  

示例:

     
    

按顺序排列的rowkey

         

2016_1201

         

2016_1202

         

2016_1204

         

2016_1204

         

腌制后

         

a_2016_1201

         

b_2016_1202

         

c_2016_1204

         

d_2016_1204

  

reference Link

hbase site - Section 35.1

答案 1 :(得分:0)

Hashing / randomPrefix + salting通常建议用于在Hbase中书写。如果您的密钥已经被随机生成并且您知道前缀范围(如果是Hex,则为Ex- 000到FFF),那么您可以使用777作为splitKey将单个区域划分为2.通常建议预先拆分您的hbase表根据预期的负载大小,以避免热点。