SSTable过期阻塞器:在Cassandra中遇到阻塞SSTable该怎么办?

7
我已经意识到,即使只包含墓碑信息的sstables有时也不会被删除。可以使用手动主要压缩来移除这些sstables。可能需要将unchecked_tombstone_compaction更新为true,并与gc_grace_period一起使用。
我已经看到了utility sstableexpiredblockers工具,可以显示阻止SSTable下降的阻塞SSTables。
在压缩期间,如果保证不会覆盖其他SSTables中的任何数据,则Cassandra可以删除整个SSTables,仅包含过期的墓碑信息。此诊断工具输出所有阻止其他SSTables下降的SSTables。
我不明白:
... 如果保证不会覆盖其他SSTables中的任何数据 ...
由于我的压缩策略是TimeWindowCompactionStrategy,因此所有的sstables都有不同的时间间隔。
我想知道如何处理那些阻塞的SSTables。

我知道这个问题现在有点老了,但是注意到它没有得到解答。如果您仍然在这里有一些信息,您能否展示/分享sstablemetadata的输出结果,以便确定哪些表应该被压缩掉? - markc
嗨,markc,感谢您的关注!我发现时间序列的时间戳写错了。我希望sstables包含上周的数据,设置TTL = 1周。然而,有些表引用了较早的时间戳。我发现有些客户端时钟不同步,导致他们的时间戳比一周要旧。最终,我不得不拒绝这些数据。 - Bob Bedinsky
1个回答

1

刚看了一下(有点晚)。您可以检查安装过程中是否设置了NTP服务器池。这可能是时钟未同步的一个重要原因。

此外,我们发现,与其依赖虚拟机,使用物理机器更好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接