Hbase-热点问题(数据存储倾斜问题)

1. 危害

某一台regionserver消耗过多,承受过多的并发量,时间长机器性能下降,甚至宕机

 2. 解决

可以通过设计rowkey+预分区的方法解决

比如可以预分区120个,1月的数据存到1-10分区,每个月的数据存到10个分区,而这10个分区是归不同的regionserver管的,所以不会产生数据倾斜。

那怎么让1月的数据存到1-10分区呢?就需要对rowkey进行设计了,设计的规则如下:

rowkey设计三个原则:

  1. 唯一性:相当于主键
  2. 长度性:16k,不要过长
  3. 散列性:hash, 加盐 ,字符串反转
                    (rowkey.hashcode % 分区数)_rowkey

猜你喜欢

转载自blog.csdn.net/qq_40382400/article/details/132152104