手动删除 sstables 和相关文件

manually removing sstables and associated files

有人知道删除特定的 sstable 及其相关文件(当 cassandra 启动并且 运行 时)是否有问题?你可能会问为什么会有人做这样的事?简而言之,sstable 是在应用程序更改以向 ttl 提供数据之前创建的(因此该 sstable 中的所有记录基本上都已根据业务规则(超过 15 天)过期,但没有任何 ttl 强制它这样做。我们'重新使用 Time Window 压缩策略,这样 sstable 永远不会被丢弃(因为它是 0% 可丢弃的)。所以我想知道我是否可以自己删除它(当它是 运行 时)。另一个选项正在执行删除,然后手动压缩以清理)。想法?

dse 版本是 5.1 (cassandra 3.11)

如果让你重启节点(这通常没问题,Cassandra专注于高可用性,单个节点的暂时不可用是它的面包和黄油),最安全的是关闭一个Cassandra节点,删除 sstable(虽然 Cassandra 不是 运行;不要忘记删除所有 sstable 的文件),然后重新启动 Cassandra。