博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase单个RegionServer的region数目上限
阅读量:6639 次
发布时间:2019-06-25

本文共 994 字,大约阅读时间需要 3 分钟。

hot3.png

前言

RegionServer维护Master分配给它的region,处理对这些region的IO请求,负责切分在运行过程中变得过大的region, 由于集群性能( 分配的内存和磁盘是有限的 )有限的,那么单个RegionServer的region数目肯定是有上限的。

 

Region数目上限

RegionServer的region数目取决于memstore的内存使用,每个region拥有一组memstore(memstore的数量有hstore决定,hstore的数据由创建表时的指定的列族个数决定,所以 每个region的memstore的个数 = 表的列族的个数 ),可以通过配置来修改memstore占用内存的大小,一般设置在 128 M – 256M之间。

RegionServer 分配一定比例的内存给它下面的所有memstore( 该比例大小 可通过hbase.regionserver.global.memstore.upperLimit 进行修改 ), 如果内存溢出(使用了太多的memstore),它可能会导致严重的后果,如服务器反应迟钝 或compact风暴。比较好的计算每RS(假设一个表)region的数量的公式为:

((RS memory) * (total memstore fraction)) / ((memstore size)*(# column families))

 

例如: 如果 一个RegionServer配置的内存是16g,使用默认配置( hbase默认regionserver分给memstore的比例是0.4 , 默认的menstore的占用128M内存 ), 一个CF,那么这个regionServer下的region的个数大约为 16384 * 0.4 / (128*1) = 51个,实际大于这个数 一两倍 也没太大的问题。 一个HBase表包含一至多个region,那么表的数目上限也是可以估算出来的。

 

Region大小上限

   对于生产场景中大表,最大的region大小主要是受compactions 的限制,大量大HFile的compact会降低群集性能。目前,该建议的最大region大小为10-20GB,而5-10GB是最优

转载于:https://my.oschina.net/sniperLi/blog/853556

你可能感兴趣的文章
vue+axios+express图片上传并利用js-xlxs插件将图片链接导出到excel里
查看>>
JSONP原理
查看>>
Java定时器之Timer学习一
查看>>
注解、泛型、枚举、Lambda表达式、JUnit单元测试
查看>>
选择技术方向都要考虑哪些因素
查看>>
自定义Android注解Part1:注解变量
查看>>
一款实用的前端截图工具
查看>>
我是如何入门机器学习的呢
查看>>
机器学习实战_人工神经网络
查看>>
Laravel核心解读 -- 扩展用户认证系统
查看>>
关于MySQL的知识点与面试常见问题都在这里
查看>>
CSS module 入门
查看>>
浅谈软件工程师的代码素养
查看>>
docker+jenkins+golang持续集成实践[转载自我的博客]
查看>>
Python 面向对象
查看>>
Vue路由使用总结
查看>>
Spring Boot入门(8)文件上传和数据预览
查看>>
js面试题
查看>>
Java多态
查看>>
js设计模式 --- 策略设计模式
查看>>