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


  我们发现用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


hbase shell

list

describe 'tsdb'


disable 'tsdb'

alter 'tsdb' , {NAME=>'t',TTL=>'1296000'}


describe 'tsdb'

检查磁盘占用

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

修改MinVersion

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

disable