You need to enable JavaScript to run this app.
文档中心
表格数据库 HBase 版

表格数据库 HBase 版

复制全文
下载 pdf
冷热分离
Compaction 策略说明
复制全文
下载 pdf
Compaction 策略说明
本文主要介绍冷热分层 compaction 策略的优缺点和使用说明。​
背景介绍​
默认情况下,在设置冷热分离时间分界点后,需要等待系统下一次执行完 compaction(周期为 3.5 天~10.5 天内的随机数),或者手动执行 major_compact 命令后,数据才能按照冷热分离分界进行迁移。在这种情况下,每次 compaction 都会与冷存文件进行交互,导致 compaction 流程变慢,影响系统稳定性。​
为解决这一问题,HBase 新增冷热分层 compaction 策略,以加速 compaction 流程。该功能优缺点如下,请根据业务实际情况合理选择。​
  • 优点:降低 compaction 压力,避免每次 major compaction 必然选中冷存⽂件。而是仅在超过冷存文件阈值后,会一次性对所有冷存文件进行 compaction。​
  • 缺点:延迟冷存⽂件的 compaction,会导致读冷存时读放大,冷存容量也会增大。​
使用方式​
说明​
该功能仅对开启冷热分离的表生效。​
  1. 在 HBase Shell 中执行以下命令,启用冷热分层 compaction 策略。​
  • ​
    alter 'table', CONFIGURATION => {'hbase.hstore.defaultengine.compactionpolicy.class' => 'org.apache.hadoop.hbase.regionserver.compactions.TieredCompactionPolicy'}​
    ​
  1. 开启后,根据资源使用情况调整 major compaction 的文件冗余个数。​
  • ​
    alter 'table', CONFIGURATION => {'hbase.regionservers.compactions.tiered.file.max.num' => 2}​
    ​
  • 说明:阈值设置为 2 表示允许冷存中存储 2 份 major compaction 后生成的冷文件,即第 3 次 major compaction 时会读冷文件。​
​
最近更新时间:2025.09.11 11:32:01
这个页面对您有帮助吗?
有用
有用
无用
无用