hbase中region的大小和数量的重要影响

region数量的影响:

通常较少的region可使集群运行的更加平稳,官方指出,每个regionServer大约100个regions的时候效果最佳,理由如下:

1)hbase的一个特性MSLAB,它有助于防止堆内存的碎片化,减轻垃圾回收full gc的问题,默认是开启的。但是每个MenStore需要2MB,如果region过多,就算不储存数据,也会占用很多内存。

2)如果region过多,MenStore也过多,就会触发regionServer的限制,导致flush,就会对用户请求产生较大的影响,可能阻塞该regionServer上的更新操作。

3)HMaster需要花费大量的时间来分配和移动Region,且过多的region会增加zookeeper的负担。

4)hbase读入数据进行处理的mapreduce程序,过多的region会产生很多的map任务数量,默认情况下有设计的region数量决定。

region大小的影响:

hbase中的数据一开始会写入MenStore,超过配置之后,会flush到磁盘成为HStore文件,当HStore的数量超过配置之后,会启动compaction,将他们合并为一个HStore。当合并后的HStore大于max.filesize时,会触发风格动作,将它切分为两个region。hbase.hregion.max.filesize不宜过大或过小,经过实战,生产高并发运行下,最佳大小5-10GB!关闭某些重要场景的hbase表的major_compact!在非高峰期的时候再去调用major_compact,这样可以减少split的同时,显著提供集群的性能,吞吐量、非常有用。

1)当hbase.hregion.max.filesize比较小时,触发split的机率更大,系统的整体访问服务会出现不稳定现象。

2当hbase.hregion.max.filesize比较大时,由于长期得不到split,因此同一个region内发生多次compaction的机会增加了。这样会降低系统的性能、稳定性,因此平均吞吐量会受到一些影响而下降。

转载于:https://www.cnblogs.com/ww5566/p/11504715.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值