hbase Normalizer解决预分区错误,在不动数据的情况下完美解决热点问题
Posted About云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hbase Normalizer解决预分区错误,在不动数据的情况下完美解决热点问题相关的知识,希望对你有一定的参考价值。
问题导读
1.对于预分区错误,hbase使用什么功能解决?
2.Region Normalizer的功能是什么?
3.在什么情况下运行Normalizer 比较好?
4.哪个版本开始有Normalizer功能?
5.什么情况下Normalizer会合并region?
6.什么情况下Normalizer会分裂region?
转载注明本文链接
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24292
about云论坛很多会员,遇到hbase已经预分区完毕,在装上数据之后,发现并不是很合理,有的分区数据多,有的数据很少。想重新划分分区。这在以前的版本是非常的困难的,解决办法只有重新创建建表,然后重新导数据,这是非常麻烦的,特别是数据量已经非常大。hbase为了解决这个问题,增加了Normalizer这个功能.
Region Normalizer使用表的所有region大致相同大小。它通过找到一个粗略的平均值来做到这一点。大于这个平均值【size】的两倍的region将会被分割。更小的region将会合并到相邻的region。
在集群空闲的时候,或则比较大的改动后比如大量删除,适合运行Normalizer 。自HBase-1.2开始,Region Normalizer便具有功能。它运行一组预先计算的merge/split操作,以调整比table的平均region太大或太小区region。Region Normalizer为hbase所有表调用计算‘plan’。系统表(比如 hbase:meta, hbase:namespace, Phoenix 系统等)和用户表当计算‘plan’时,禁用Normalizer会被忽略。对于启用了normalization的表,normalization plan跨多个表并行执行。
可以使用HBase shell中的'normalizer_switch'命令在整个集群中全局启用或禁用Normalizer。Normalization 也可以在每一个表基础上进行控制,默认情况下创建表时禁用此操作。通过将NORMALIZATION_ENABLED表属性设置为true或false,可以启用或禁用表的Normalization。
检测normalizer状态和enable/disable normalizer
[Bash shell] 纯文本查看 复制代码
?
01
以上是关于hbase Normalizer解决预分区错误,在不动数据的情况下完美解决热点问题的主要内容,如果未能解决你的问题,请参考以下文章 |