>데이터 베이스 >MySQL 튜토리얼 >hbase权威指南: store file合并(compaction)

hbase权威指南: store file合并(compaction)

WBOY
WBOY원래의
2016-06-07 16:30:101466검색

????????? hbase为了防止小文件(被刷到磁盘的menstore)过多,以保证保证查询效率,hbase需要在必要的时候将这些小的store file合并成相对较大的store file,这个过程就称之为compaction。在hbase中,主要存在两种类型的compaction:minor? compaction和maj

????????? hbase为了防止小文件(被刷到磁盘的menstore)过多,以保证保证查询效率,hbase需要在必要的时候将这些小的store file合并成相对较大的store file,这个过程就称之为compaction。在hbase中,主要存在两种类型的compaction:minor? compaction和major compaction。

????????? major compaction 的功能是将所有的store file合并成一个,触发major compaction的可能条件有:major_compact 命令、majorCompact() API、region server自动运行(相关参数:hbase.hregion.majoucompaction 默认为24 小时、hbase.hregion.majorcompaction.jetter 默认值为0.2 防止region server 在同一时间进行major compaction)。hbase.hregion.majorcompaction.jetter参数的作用是:对参数hbase.hregion.majoucompaction 规定的值起到浮动的作用,假如两个参数都为默认值24和0,2,那么major compact最终使用的数值为:19.2~28.8 这个范围。

???????? minor compaction的运行机制要复杂一些,它由一下几个参数共同决定:

?????????????????? hbase.hstore.compaction.min :默认值为 3,表示至少需要三个满足条件的store file时,minor compaction才会启动

?????????????????? hbase.hstore.compaction.max 默认值为10,表示一次minor compaction中最多选取10个store file

?????????????????? hbase.hstore.compaction.min.size 表示文件大小小于该值的store file 一定会加入到minor compaction的store file中

?????????????????? hbase.hstore.compaction.max.size 表示文件大小大于该值的store file 一定会被minor compaction排除

?????????????????? hbase.hstore.compaction.ratio 将store file 按照文件年龄排序(older to younger),minor compaction总是从older store file开始选择,如果该文件的size 小于它后面hbase.hstore.compaction.max 个store file size 之和乘以 该ratio,则该store file 也将加入到minor compaction 中。

??????? 如果对minor compaction过程还是不了解,可以去看hbase中关于minor compaction 的源码,或者: http://blog.csdn.net/macyang/article/details/6423078

作者:azhao_dn 发表于2013-4-29 16:05:52 原文链接

阅读:25 评论:0 查看评论

hbase权威指南: store file合并(compaction)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.