首页 文章

如果Cassandra节点在压缩过程中耗尽磁盘空间会发生什么?

提问于
浏览
1

我们有一个Cassandra节点收到了一些非常大的写入;每个大约2.9MB,写入~200次 . 通常,我们群集上的每个节点使用大约800GB;我们的EC2实例大约有1.5TB空间的一半 .

当该节点进行压缩时,该过程比正常情况持续更长时间,磁盘使用率几乎达到1.5TB限制 . 压实持续了超过2天,我们很幸运,它完成了超过1.4TB .

如果节点在压缩期间耗尽磁盘空间会发生什么?可以恢复吗?它会清理自己并重试吗?或节点是否已满,需要退役?

1 回答

  • 3

    取决于它,它可以从版本更改为版本和配置 . 如果有足够的空间使其压缩完成,那么希望根据数据模型返回 . 一些压缩策略需要更多(SizeTieredCompactionStrategySTCS~50%)或更少(LeveledCompactionStrategy LCS~80%)的可用空间来操作"safely" . 您的数据模型可能会显着影响它 .

    如果你实际上没有磁盘,你可以期待的是:

    • disk failure policy踢可以关闭C *或忽略它 .

    • 压缩执行程序上的未捕获IOException,它会终止该线程 . 最终,如果这样可以保持所有压缩线程都会死亡,那么你将遇到很多麻烦 . 这不应该发生,但是由于misc错误,这是特定于版本的 .

相关问题