nodetool 清理后磁盘空间使用量增加 - Apache Cassandra
Posted
技术标签:
【中文标题】nodetool 清理后磁盘空间使用量增加 - Apache Cassandra【英文标题】:increased disk space usage after nodetool cleanup - Apache Cassandra 【发布时间】:2021-01-15 08:41:14 【问题描述】:我们有一个生产中的 Apache Cassandra(版本 3.11.4)集群,在两个 DC 中有 5-5 个节点。我们最近刚刚添加了最后两个节点,修复完成后,我们在 2 天前开始清理。节点非常大,/data 有 2.8TB 的安装磁盘空间,Cassandra 在清理之前使用了大约 48%。
大约 14 小时后,第一个节点上的清理完成(我认为它没有损坏,日志中没有错误,nodetool compactionstats
表示 0 个待处理任务),在清理过程中,磁盘使用率增加了 81%,从那时起就再也没有消失过背部。
Cassandra 会清理它吗?如果是的话,什么时候,或者我们必须手动做些什么?实际上我们没有找到任何可以手动删除的 tmp 文件,所以我们现在不知道。有没有人遇到过这个用例并有解决方案?
提前致谢!
【问题讨论】:
【参考方案1】:检查旧快照 - 很可能您有许多快照(来自备份、截断或删除的表),它们是指向包含数据的文件的硬链接(不占用空间),在 nodetool cleanup
之后,数据文件被重写,新文件被创建,而硬链接仍然指向原始文件,消耗磁盘空间。使用nodetool listsnapshots 获取现有快照列表,使用nodetool clearsnapshot 删除不需要的快照。
【讨论】:
多么简单的解决方案!删除不必要的快照后,磁盘使用量减少到 40%。非常感谢您的帮助! :) 是的,这是人们经常忘记的事情之一,因为快照通常会在不占用空间的情况下放置,直到表格被压缩以上是关于nodetool 清理后磁盘空间使用量增加 - Apache Cassandra的主要内容,如果未能解决你的问题,请参考以下文章