最近在做 hbase 的读取优化工作,也优化了一些配置,这里着重讲一下我在配置 hbase 的region 的大小的时候遇上的一些问题
首先我知道在 habse 里面的的 hbase-site
xml 里面有这个配置,具体的如图所示:这个 hbase 默认的是 10g,我现在把他修改成 1g,然后重启 hbase,发现 region 的数目和大小都没有发生变化
我又去查阅资料,找到了一个相关帖子:明白了,原来 hbase 的 region 的大小调节在 0
94 以前只要配置 region 大小的属性就好了,他就会根据配置的小进行 split,但是
94 之后,又加入了一个策略属性,hbase 有三个 spli 的策略,具体的如下所示:第一个(也是我要的):ConstantSizeRegionSplitPolicy : 按 固 定 长 度 分 割 region , 固 定 长 度 取 值 优 先 猎 取 table的 ” MAX_FILESIZE” 值 , 若 没 有 设 定 该 属 性 , 则 采 纳 在 hbase-site
xml 中 配 置 的hbase
hregion
filesize 值,在 0
94 版本中这个值的缺省值已经被调整为:10 * 1024 * 1024 * 1024L 也就是 10G,网上很多关于 hbase
hregion
filesize 默认值 1G 的文章应该都是基于 0
92 的 hbase 的第二个:IncreasingToUpperBoundRegionSplitPolicy : 根 据 region 数 量 累 增 划 分 region , 该 策 略 为Hbase 0
94 默认使用的策略,采纳该策略分割的 region 大小是不相等的,每次新 region 的大小随着 region 数量的增多而增