Apache Cassandra 计划修复何时成为必要的操作实践?

When Apache Cassandra scheduled repair becomes necessary operational practice?

与最终一致性一样,计划修复似乎最终对节点偏离太多的节点有用。 试图了解为什么以及何时“定期维修”成为强制性要求。我们在操作 Cassandra 和逐步采用它方面相对较新。尽管没有配置定期维修,但很少有服务能在几个月内运行良好。 因此,关于维修的问题很少?

  1. 开发人员可靠地查看的统计证据是什么,所以 he/she 可以理解维修的直接或最终好处 进程?
  2. 是否有任何指标(来自日志或指标)警告 需要提前维修吗?
  3. 如果我们构建读取密集型(非常 rare transaction) reference data system 还需要修复吗 定期?
  4. 错误地,如果 material-views 在应用程序中使用,应该 在没有 material-views?
  5. 的情况下重新编写应用程序之前,我们放弃修复

答案很简单——修复是 Cassandra 正常运行的一部分。

没有 metrics/statistics/indicators 决定何时 运行 维修。您只需 运行 每 gc_grace_seconds 维修一次。就这么简单。

默认情况下,GC 宽限期为 10 天,因此为简单起见,如果您不使用像 Reaper 这样的自动化工具,您应该 运行 至少每周修复一次 -用于自动化 Cassandra 修复的源工具。干杯!