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,在系统负载较低的时候,选择手动进行合并。

相关推荐
nbsaas-boot14 分钟前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
zgl_2005377914 分钟前
ZGLanguage 解析SQL数据血缘 之 Python + Echarts 显示SQL结构图
大数据·数据库·数据仓库·hadoop·sql·代码规范·源代码管理
acaad1 小时前
Redis下载与安装(Windows)
数据库·redis·缓存
玄〤1 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
SunflowerCoder1 小时前
EF Core + PostgreSQL 配置表设计踩坑记录:从 23505 到 ChangeTracker 冲突
数据库·postgresql·c#·efcore
短剑重铸之日1 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
潘达斯奈基~1 小时前
万字详解Flink基础知识
大数据·flink
Zoey的笔记本2 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库
什么都不会的Tristan2 小时前
MybatisPlus-扩展功能
数据库·mysql
超级种码2 小时前
Redis:Redis 数据类型
数据库·redis·缓存