HBASE区域分裂出乎意料,每个区域大小小于1g
hbase.hregion.max.filesize
是10g。
拆分策略是SteppingsPlitPolicy
。
该表由Phoenix与salt_buckets = 6
创建。
根据steppingsplitpolicy
的源代码:
protected long getSizeToCheck(final int tableRegionsCount) {
return tableRegionsCount == 1 ? this.initialSize : getDesiredMaxFileSize();
}
当区域大小变大于10g时,该区域应拆分(因为tableRegionsCount是6)。
但是,该表分为18个区域,总尺寸为7.62 GB。
StorefileSize(7.62 GB) Num.Storefiles(34)
212 MB 1
255 MB 1
830 MB 3
213 MB 1
482 MB 1
601 MB 4
213 MB 1
354 MB 1
... ...
我如何找到触发区域拆分的原因?
7月4日更新
还尝试了constantsizeregionsplitpolicy
,结果是相同的。
这是测试env,所有组件都是Apache捆绑包,CPU/内存资源是短缺的。
预生产ENV与steppingsplitpolicy
是HDP捆绑包。
检查的大部分配置是相同的。
我现在正在忙于其他作品,当我有空时,我会继续研究它。
The hbase.hregion.max.filesize
is 10g.
The split policy is SteppingSplitPolicy
.
The table was created by phoenix with salt_buckets = 6
.
According to source code of SteppingSplitPolicy
:
protected long getSizeToCheck(final int tableRegionsCount) {
return tableRegionsCount == 1 ? this.initialSize : getDesiredMaxFileSize();
}
The region should be split when region size becomes larger than 10g (because the tableRegionsCount is 6).
However the table was split into 18 regions with total size 7.62 GB now.
StorefileSize(7.62 GB) Num.Storefiles(34)
212 MB 1
255 MB 1
830 MB 3
213 MB 1
482 MB 1
601 MB 4
213 MB 1
354 MB 1
... ...
How can I find what triggered a region split?
Jul 4 update
Also tried ConstantSizeRegionSplitPolicy
, the result was the same.
This is test env, all components are apache bundle, and the cpu/memory resources are shortage.
The pre-production env works well with SteppingSplitPolicy
which is HDP bundle.
Checked the most of configuration are the same.
I'm busy on the other works now, I'll continue look into it when I'm free.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论