hbase的TTL机制清除opentsdb的超时数据

时间:2024-02-16 11:22:13

  我们发现用opentsdb向hbase写数据之后,磁盘占用率飙升得很快,我们存的业务数据只用保存一个月的即可,了解hbase的TTL机制可以清除相关表、相关行的超时数据,之前在数据备份时,我介绍了,opentsdb在hbase里面存储的数据主要有4个表,tsdb 、tsdb-meta 、tsdb-tree 、tsdb-uid。其中tsdb是元数据表,存储的内容最多,由此,清除数据主要清除tsdb即可。

 

参考文章:

https://blog.csdn.net/czs1130/article/details/79878259

https://www.iteye.com/blog/greatwqs-1741330

具体我都不做过多解释,我这里直接操作

查看磁盘

<!-- 查看整台服务器的硬盘使用情况-->
df -h
<!--查看内存、磁盘-->
du   -sh    * 

 

 

设置tsdb的TTL

<!--进入shell命令-->
hbase shell
<!--查看所有表-->
list
<!--查看tsdb的结构-->
describe \'tsdb\'
<!--禁用表 tsdb-->

disable \'tsdb\'
<!--修改时间-->
alter \'tsdb\' , {NAME=>\'t\',TTL=>\'1296000\'}

<!--再次查看tsdb的结构-->
describe \'tsdb\'

 

 

 

 

 

检查磁盘占用

  发现并未减少,那就是MinVersion的影响了。

 

 

修改MinVersion

 alter \'tsdb\' , {NAME=>\'t\', MIN_VERSIONS=>\'0\'}
enable \'tsdb\'

 

 

 

 

disable