大约 1 个月以来,我在nodetool cfstats输出的 Cassandra 集群中看到以下 3 个节点的已用空间值(我的复制因子 = 3):
Pending Tasks: 0
Column Family: BinaryData
SSTable count: 8145
Space used (live): 787858513883
Space used (total): 1060488819870
对于其他节点,我看到了不错的值,例如:
Space used (live): 780599901299
Space used (total): 780599901299
您可以注意到 Live 和 Total 空间之间存在 25% 的差异 (~254Gb)。看来我在这 3 个节点上有很多垃圾,由于某种原因无法压缩。我正在谈论的列族具有配置为 100Mb SSTable 大小的 LeveledCompaction 策略:
create column family BinaryData with key_validation_class=UTF8Type
and compaction_strategy=LeveledCompactionStrategy
and compaction_strategy_options={sstable_size_in_mb: 100};
请注意,所有三个节点上的总价值会在一个月内保持不变。我依靠 Cassandra 自动规范化数据。
我试图减少空间的内容(没有结果):
- 节点工具清理
- 节点工具修复-pr
- nodetool compact [KEYSPACE] BinaryData(什么都没有发生:LeveledCompaction 策略忽略主要压缩)
还有什么我应该尝试清理垃圾和可用空间的事情吗?