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