10. Hbase Compaction命令

一. 什么是Compaction

在 HBase 中,频繁进行数据插入、更新和删除操作会生成许多小的 HFile,当 HFile 数量增多时,会影响HBase的读写性能。此外,垃圾数据的存在也会增加存储需求。因此,定期进行 Compact操作,可以有效地提升HBase系统的性能,减少存储空间。

在HBase中,Compaction主要有两种类型:

  • Minor Compaction:将多个小的HFiles合并成一个较大的HFile,不会删除过期和标记为删除的数据。
  • Major Compaction:将所有 HFiles 合并,会清理掉在HBase中标记为删除的数据,一般比较费时。可能会对RegionServer的CPU和IO造成较大的压力
二. Compaction实操

HBase表中已经存在一个名为dns_message, 数据量为1亿多条。想对其进行手动 Minor Compaction,可以执行下面的命令:

bash 复制代码
hbase:010:0> compact 'dns_message'
Took 0.1019 seconds

如果你想执行Major Compaction,可以使用 major_compact 命令。

bash 复制代码
hbase:011:0> major_compact 'dns_message'
Took 0.0880 seconds

这时Major Compaction会启动后台任务,相关信息可以在Habse WebUI页面上查看

同时查看RegionServer所占资源的情况

通过以上可以说明Major Compaction确实是一个高负载的操作,因此在生产建议关闭自动Major Compaction,在系统负载较低的时候,选择手动进行合并。

相关推荐
时空自由民.9 分钟前
repo 学习教程
大数据·学习·elasticsearch
刘一说9 分钟前
Elasticsearch HTTPS访问错误解决指南
大数据·elasticsearch·https
路弥行至1 小时前
从0°到180°,STM32玩转MG996R舵机
c语言·数据库·stm32·单片机·嵌入式硬件·mcu·mongodb
软测进阶1 小时前
【超详细图文教程】2025年最新Win10 系统安装 MySQL 教程
数据库·mysql
Anthony_2311 小时前
MySQL的常用命令
运维·数据库·mysql·adb·docker
FOLLOW ME3111 小时前
MySQL主从复制及进阶配置
数据库·mysql
博一波1 小时前
MySQL 核心文件解析:从配置到存储的 “说明书 + 记录仪” 系统
数据库·mysql
TimberWill1 小时前
idea、服务器、数据库环境时区不一致问题
服务器·数据库·intellij-idea
叫我阿柒啊2 小时前
从Java全栈到前端框架的实战之路
java·数据库·微服务·typescript·前端框架·vue3·springboot
华略创新2 小时前
引入外部咨询顾问,提供专业指导——制造企业大型系统项目的明智之选
大数据·制造·crm·erp系统·企业管理软件