我們發現用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
