nodetool 清理后磁盘使用量增加 space - Apache Cassandra

increased disk space usage after nodetool cleanup - Apache Cassandra

我们在生产中有一个 Apache Cassandra(版本 3.11.4)集群,在两个 DC 中有 5-5 个节点。我们最近刚刚添加了最后两个节点,修复完成后,我们在 2 天前开始清理。节点非常大,/data 有 2.8TB 挂载磁盘 space,Cassandra 在清理之前使用了大约 48%。 大约 14 小时后第一个节点上的清理完成(我不认为它坏了,日志中没有错误,并且 nodetool compactionstats 表示 0 个待处理任务)并且在清理期间磁盘使用率增加了 81%,从那时起再也没有回去。 Cassandra 会清理它吗?如果是,什么时候,或者我们必须手动做些什么?实际上我们没有找到任何可以手动删除的 tmp 文件,所以我们现在不知道。有人遇到过这个用例并有解决方案吗?

提前致谢!

检查旧快照 - 很可能您有许多快照(来自备份、截断或删除的表),它们是包含数据的文件的硬链接(并且不使用 space),并且在 nodetool cleanup 之后,数据文件被重写,并创建了新文件,而硬链接仍指向原始文件,占用磁盘 space。使用 nodetool listsnapshots to get a list of existing snapshots, and nodetool clearsnapshot 删除不需要的快照。