Cassandra的SSTables数量很多

时间:2014-12-11 23:32:12

标签: cassandra apache-spark

启动一些长时间运行的写入作业(使用Spark Cassandra Connector从Apache Spark作业批量插入)后,Cassandra(v.2.1)为目标表创建了数千个SSTable(超过4500)。 次要压缩阈值设置为默认值(4到32)。这意味着,理论上,应该自动安排许多次要的压缩任务。

我检查了状态,nodetool表示没有安排任务。我停止了几个小时的任何操作。然后我多次重启集群。等了一会儿。禁用并重新启用自动压缩。等待着。吞吐量增加到999 MB / s。等待着。

在这些测试期间,在一些节点中随机启动了一些小的压缩,持续时间有限。大多数节点一整天都没有做任何事情。

然后,我决定手动启动一个主要的压缩(这需要几天......亚马逊EBS)。

为什么Cassandra没有进行任何轻微的自动压缩,即使SSTables的数量是阈值(32)的100倍?

1 个答案:

答案 0 :(得分:1)

答案在文档中:

By default, a minor compaction can begin any time Cassandra creates four SSTables on disk for a column family. A minor compaction must begin before the total number of SSTables reaches 32.

我的SSTables总数远远大于32 ...