如何解决Apache Cassandra中卡住的大型压缩?


14

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

我已经停止了Cassandra服务,但是在重新启动后,它又继续进行压缩,但是没有任何进展。A nodetool compactionstats显示0.00%的进度,剩余时间为6分钟。但是我已经等了24小时。在此期间,我停下了所有读者和作家,却没有发现任何差异。

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

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

我不确定这是否有帮助,但是由于无法满足我的需求,我目前正从Cassandra迁移。因此,我删除了许多已迁移的数据。有很多行,几百到几千列。但是有几行有一百万列。由于迁移(删除)过程,他们现在有很多墓碑。

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


只是一个想法,您看过/ var / log / syslog还是在哪里记录了许多打开的文件/ VM maxmem的信息?
Antony Gibbs 2014年

@AntonyGibbs没什么。这是一台性能超群的物理服务器。其他服务在Cassandra旁边运行平稳。
mailq 2014年

1
您是否检查进程是否受CPU约束,I / O约束或阻塞以等待其他事件?
kasperd 2014年

1
启动的Java虚拟机的设置是什么?可能是一台功能强大的服务器,如果java实例限制为128M,它将无法获得更多。日志中什么都没有的声音让我觉得内存限制了……
Antony Gibbs 2014年

1
ulimit -aCassandra用户控制台的输出可能很方便。
2014年

Answers:


1

我不是cassandra专家,但是您是否尝试过nodetool停止压缩并设置压缩阈值(setcompactionthreshold设置为0),所以系统不会重试


nodetool stop-COMPACTION没有帮助。工作仍在继续。
Jigar Shah's

@JigarShah与OP一样的问题吗?您也许应该问一个新问题以吸引新的答案。也许我的解决方案没有帮助您,但帮助了OP
yagmoth555
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.