更新时间:2024-09-18 GMT+08:00

配置HBase冷热数据分离存储

在海量大数据场景下,HBase表中的部分业务数据随着时间的推移仅作为归档数据或者访问频率很低,同时这部分历史数据体量非常大,比如订单数据或者监控数据,如果降低这部分数据的存储成本将会极大的节省企业的成本。

HBase支持冷热分离功能,将数据分类存储在不同介质上,即冷数据存储在OBS,热数据存储在HDFS中,能有效降低存储成本。

该功能仅MRS 3.3.0及之后版本支持。

  • OBS读IOPS的能力降低,因此只适用于低频查询的场景。
  • OBS不适合并发大量读请求的场景,并发大量读请求可能会导致请求异常。

原理介绍

HBase支持对同一张表的数据进行冷热分离存储。用户在表上配置数据冷热时间分界点后,HBase会依赖用户写入数据的时间戳(毫秒)和时间分界点来判断数据的冷热。数据开始存储在热存储上,随着时间的推移慢慢往冷存储上迁移。同时用户可以任意变更数据的冷热分界点,数据可以从热存储到冷存储,也可以从冷存储到热存储。

图1 HBase冷热分离原理图

配置HBase冷热数据分离存储

通过在Manager界面修改HBase配置开启冷热分离特性,支持将冷数据存储在OBS,热数据存储在HDFS中。

  1. 参考“配置Guardian服务对接OBS”章节对接OBS。
  2. 登录FusionInsight Manager,选择“集群 > 服务 > HBase > 配置”,在搜索框中搜索并修改以下参数:

    • fs.coldFS:修改该参数值为OBS文件系统名,例如:obs://OBS并行文件系统名称
    • hbase.fs.hot.cold.enabled:该参数值默认为“false”,必须修改为“true”。
    • fs.obs.buffer.dir:该参数值需要修改为本地挂载的数据盘目录,例如“/srv/BigData/data1/tmp/HBase/obs”。

  3. 单击“保存”,保存配置。
  4. 单击“概览”,选择“更多 > 重启服务”,重启HBase服务。服务重启成功后即开启了冷热分离功能。
  5. 冷热分离特性开启后需设置表的冷热时间分界点才能实现表数据冷热存储,相关操作请参见HBase冷热分离相关命令介绍