开发者社区> 问答> 正文

为什么说regin太多不一定好?

为什么说regin太多不一定好?

展开
收起
游客fbdr25iajcjto 2021-12-06 20:07:42 546 0
1 条回答
写回答
取消 提交回答
  • 首先从hbase的原理来讲:

    首先一个regionserver会有多个region组成,那么一个region又包含多个HStore,HStreo由memstore和storefile组成,当client进行写入操作时,会先将数据写入memstore,memstore满了之后将数据flush到storefile,一直到增长到某个阀值,触发compact操作,

    然后多个storefile会合并为一个Storefile,在这之后还会有storefile split的操作,也就是经常会遇到的region split,使得原先一个region的压力,被分配多个region,统一由master去分配到不同的regionserver中.

    那么如果region数量很多,就会生成很多的storefile文件小文件,小文件问题就不再多说了,其次就是会触发hbase的文件合并操作,从而保证HFile的数量在一个合理的范围内,合并操作会造成集群的不稳定,影响集群的性能,region数量越多那么触发合并的操作频次也就越多,也就会直接的影响集群的性能,包括网络IO的,fullgc,regionserver加载异常会报出

    2021-12-06 20:12:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
如何做小程序性能优化 立即下载
代码未写,漏洞已出——谈谈设计不当导致的安全问题 立即下载
Android插件化-从入门到"放弃" 立即下载