HBase Major Compaction 大合并(写放大)

作用

将某一个Column family的所有HFile重新整理并合并为一个HFile
也可以理解成:将一个Region下的所有 StoreFile 合并成一个StoreFile 文件

在大合并的过程中,将之前 删除的行、cell 和 过期的版本(TTL过期) 都会 删除,更新现有cell的值

优点

大大提升读的效率

缺点

需要重新整理 Region 下 所有的HFile,并写入一个HFile,这一过程包含大量的硬盘I/O操作以及网络数据通信,当前Region 基本是处于不可访问的状态。

写放大

这一过程也称为写放大(Write amplification)

一般禁用该功能

禁止自动运行

由于Major Compaction会占用大量的磁盘和网络IO,会严重的影响集群的性能

禁用的缺点

不进行Major Compaction,StoreFile 文件过多,且含有大量 删除的行 和 过期的版本(TTL过期),会对集群非常不利

解决

一般在 夜间,集群负载较低 时,通过 定时任务脚本 执行

执行周期

一般一周做一次


原文出处:/show_1IX2JBOFVVVy.html