【问题标题】:Is it safe to run sstableverify against live sstables? [closed]针对实时 sstable 运行 sstableverify 是否安全? [关闭]
【发布时间】:2018-07-15 14:54:13
【问题描述】:

在 Cassandra 运行时针对实时 sstable 运行 sstableverify 是否安全? 在实验室中运行 sstableverify 之后和期间,我在任何日志中都找不到任何表明存在问题的内容。

【问题讨论】:

    标签: cassandra cassandra-3.0 cassandra-2.2


    【解决方案1】:

    SSTable 本质上是不可变的,因此您可以使用运行 Cassandra 的同一用户来使用它们(请参阅注释以获取解释)。如果您想防止它们因压缩而消失,您可以拍摄将创建文件硬链接的快照(但不要忘记稍后删除快照)。

    【讨论】:

    • 一个警告,从当前版本 (3.11) 开始,所有离线 sstable 工具如果不使用 C* 进程运行的同一用户运行,可能会导致严重问题。 sstableverify 可能会尝试更新 sstable_activity 表,并编写一个提交日志,如果使用 root 运行该提交日志,则刷新后进程将阻塞并导致没有提交日志被删除。此外,如果 bf 或索引设置发生更改,它可能会删除/重新创建相关组件,这可能导致文件 C* 无法删除或删除正在从中读取的文件。
    • 完全同意...让我更新答案
    • 确实,我已经复制了 Chris 在我的测试实验室中描述的内容。
    【解决方案2】:

    也许安全...但是,您可能会在运行 sstableverify 时遇到 sstables 的消失,这是由于压缩(其他可能的原因)。使用 nodetool verify 代替实时数据。对离线恢复系统上的数据使用 sstableverify 来验证数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 2011-12-22
      相关资源
      最近更新 更多