分享

hbase 关闭major_compaction操作后,手动执行合并的策略

wdx_827 发表于 2017-3-21 13:39:32 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 31661
hbase中通过hbase.hregion.majorcompaction=0来关闭major合并操作,在系统使用低谷时,手动调研major_compaction来执行合并,问题目前hbase中表的数量较多有几千张吧,是否有办法可以从大量表中选择需要进行合并的表名呢?
我的初步想法是通过某种方法能够得到“需要合并掉的记录数”/“合并前的记录数据”,如果表的这个比值越高则需要进行手动合并。请高手指点!!

已有(4)人评论

跳转到指定楼层
tntzbzc 发表于 2017-3-21 15:58:25
本帖最后由 tntzbzc 于 2017-3-21 16:49 编辑

目前尚未发现。
compaction在手工执行的时候,考虑了io,文件的大小。
如过大的文件,大于hbase.hzstore.compaction.max.size(默认Long最大值),则被排除,否则会产生大量IO消耗。至于选择表,目前没见到过
回复

使用道具 举报

wdx_827 发表于 2017-3-21 16:47:35
tntzbzc 发表于 2017-3-21 15:58
目前尚未发现。
compaction在手工执行的时候,只考虑了io,文件的大小。
如过大的文件,大于hbase.hzstor ...

我理解hbase.hzstore.compaction.max.size 是针对minor的合并,对major没有影响吧。
回复

使用道具 举报

tntzbzc 发表于 2017-3-21 17:03:03
wdx_827 发表于 2017-3-21 16:47
我理解hbase.hzstore.compaction.max.size 是针对minor的合并,对major没有影响吧。

hbase.hzstore.compaction.max.size
hbase.hstore.compaction.max.size 表示文件大小大于该值的store file 一定会被minor compaction排除
两个参数一个字母的区别

回复

使用道具 举报

hahaxixi 发表于 2017-3-22 10:33:04
http://hbasefly.com/2016/07/13/hbase-compaction-1/
这篇文章看看是否有帮助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条