Cassandra 节点工具修复

Cassandra nodetool repair

Cassandra documentation 建议每周 运行 一次维修工作。

但有一件事不清楚:我是否需要 运行 nodetool repair on/for 每个节点;还是在单个节点上发出 nodetool repair 修复整个集群?

运行 nodetool repair 在单个节点上肯定会导致在我从 opscenter 看到的所有节点上的可观察修复活动。

我同意文档对此并不完全清楚。但进一步向下(从每周一次的建议)是这两点:

The hard requirement for routine repair frequency is the value of gc_grace_seconds. Run a repair operation at least once on each node within this time period. Following this important guideline ensures that deletes are properly handled in the cluster.

还有...

Use caution when running routine node repair on more than one node at a time and schedule regular repair operations for low-usage hours.

"Running nodetool repair on a single node certainly leads to observable repair activities on all nodes"

是的,那是因为修复操作需要查看其他节点上的类似标记范围以确保正确 replication/repair。