【问题标题】:sstableexpiredblockers: what to do having blocking SSTables in Cassandra?sstableexpiredblockers:如何在 Cassandra 中阻止 SSTables?
【发布时间】:2018-06-22 01:00:12
【问题描述】:

我意识到有些 sstable 不会被删除,即使它们只包含墓碑。 使用手动主要压缩这些 sstables 被删除。 也许它需要将 unchecked_tombstone_compaction 与 gc_grace_period 一起更新为 true

我见过实用程序 sstableexpiredblockers 实用程序,它会显示阻止 SSTable 删除的阻塞 SSTable。

在压缩期间,Cassandra 可以删除整个 SSTables,如果它们包含 只有过期的墓碑,如果保证不覆盖任何数据 在其他 SSTables 中。此诊断工具输出所有 SSTables 阻止其他 SSTables 被删除。

我不明白:

...如果保证不覆盖其他SSTables中的任何数据...

由于我的压缩策略是 TimeWindowCompactionStrategy,所有的 sstables 都有不同的时间间隔。

我想知道如何处理那些阻塞的 SSTables。

【问题讨论】:

  • 我知道这个问题现在有点老了,但注意到它没有得到回答。如果您在这里还有一些信息,您能否显示/分享您认为应该压缩的表的 sstablemetadata 输出?
  • 您好,markc,感谢您的关注!我发现时间序列是用错误的时间戳写的。我希望 sstables 包含设置 TTL = 1 周的上周的数据。但是,有些表格引用了较旧的时间戳。我发现有些客户的时钟不同步,他们的时间戳超过一周。最终我不得不拒绝这些数据。

标签: cassandra cassandra-3.0


【解决方案1】:

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

此外,我们已经看到,与其依赖虚拟机,不如使用物理机来实现此目的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 2015-02-10
    • 2015-04-10
    • 2019-02-12
    • 1970-01-01
    • 2012-08-04
    • 2017-01-17
    相关资源
    最近更新 更多