我对 Cassandra 比较陌生,所以如果我遗漏了一些明显的东西,我会提前道歉。因此,我在单节点集群中使用 cassandra 1.0.12 并进行大量写入和删除(大约 1000/秒)。由于我的磁盘空间不断增加,写入比删除更频繁。如果我理解正确,压缩将帮助我实现这一目标(主要和次要)。所以我将 setGc_grace_seconds 更改为 0 并将 setMin_compaction_threshold 更改为 2。即使在设置这些值之后,我看到该列族的 SSTable 计数为 4 ,当 SSTable 计数为 2 时它不应该启动压缩吗?此外,主要压缩何时开始以及如何控制它(我想更频繁地运行它)。
问问题
2947 次
1 回答
7
如果你使用 Size-tiered compaction,minor compaction 有时会在磁盘上至少创建 min_compaction_threshold类似大小的 SSTables 后自动触发。因此,在您的情况下,有时在创建了两个类似大小的 SSTable 之后,小型压缩将启动并将这两个 SSTable 合并到一个新的 SSTable 中。 大小分层压缩的调整选项
主要压缩是通过nodetool手动触发的。“对于键空间中的每个列族,这会将所有现有的 SSTable 压缩到一个 SSTable 中”。
于 2013-01-27T16:46:10.593 回答