如何解决 Apache Cassandra 中卡住的主要压缩?

如何解决 Apache Cassandra 中卡住的主要压缩?

我有一个单节点 Cassandra 集群,目前陷入了主要压缩过程。执行后,nodetool compact它开始压缩,我看到 tmp-sstable 文件的大小为 0 字节。但仅此而已。几个小时都没有进展。

我已经停止了 Cassandra 服务,但重启后它又继续压缩,没有任何进展。Anodetool compactionstats显示进度为 0.00%,剩余时间为 6 分钟。但我已经等了 24 小时。在此期间,我停止了所有读取器和写入器,但没有看到任何变化。

我使用的版本是 2.1.2。我已经尝试过使用 OpenJDK 7 和 Oracle 的 Java 7,但没有区别。

日志未显示任何 OOM 或任何其他异常或警告的迹象。

我不确定这是否有帮助,但我目前已从 Cassandra 迁移出去,因为它不符合我的需求。因此,我删除了大量已迁移的数据。有许多行有几百到几千列。但有几行有几百万列。由于迁移(删除)过程,它们现在有很多墓碑。

欢迎提供任何有关如何调试该问题的帮助。

答案1

我不是 Cassandra 专家,但你试过吗nodetool 停止压缩并设置压缩阈值(setcompactionthreshold 为 0),这样系统就不会重试

相关内容