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解决预分区错误,在不动数据的情况下完美解决热点问题的主要内容,如果未能解决你的问题,请参考以下文章

Hbase预分区种子生成

HBase预分区

hbase调优和protouf

Hbase分区

hbase建表create高级属性 //hbase 表预分区也就是手动分区 这个很重要

hbase 预分区

(c)2006-2024 SYSTEM All Rights Reserved IT常识