我正在运行一个群集,其中每个都安装了 1个数据中心(10个节点)和 Cassandra 2.1.7 。我们正在使用 SimpleStretegy (旧错误)。
情况是,我从一开始就没有运行任何 nodetool repair ,现在有大约200 GB的数据和3 RF。
此时正在运行完全修复或增量修复。所以我试图运行完全修复。但这导致协调器节点失效。
所以我最终在每个节点上一次运行一个完整的分区范围修复( nodetool repair -pr )。但这花费了太多时间(每个节点超过15小时,因此所有节点都需要数周)。
我这样做错了,或者这应该发生?或者这是版本问题?
将来,如果我在完成此操作后再次进行全面修复,这还需要几周时间吗?
答案 0 :(得分:2)
由于完全修复主要受数据大小的影响,因此应该花费相同的时间。
我建议进行增量维修,这样可以节省您的时间和资源。
这是一篇关于如何在2.1中执行此操作的文章: https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/opsRepairNodesMigration.html
答案 1 :(得分:1)
如果您的日期大小太大,您可以使用子范围修复,它很容易修复pr,但它的焦点在子范围内。
更多解释: https://www.pythian.com/blog/effective-anti-entropy-repair-cassandra