因此,我们一直无法平衡当前集群上的工作负载,主要是由于预算限制和目前无法添加更多节点。直到最近,一个节点在一夜之间宕机的情况经常发生,所以我经常运行 nodetool repair。最近集群变得更加稳定,这些宕机的节点不会经常发生,所以上周末我为每个节点上的 nodetool repair -pr 创建了 cron 作业,每周运行一次。gc_grace 仍为默认 10 天,最大提示仍为默认 3 小时。
我的问题是:
- 如果我们丢失一个节点超过 3 个小时,提示/秒到底会发生什么?它/它们不再存在吗?
- 如果我们丢失了一个节点超过 3 个小时,但由于某种原因没有意识到该节点已经停机那么久,如果运行 nodetool repair -pr 而不是对停机节点进行完全修复会发生什么?
- 如果确实如此,您将如何解决问题 2 中的问题?
- 有没有办法检查所有节点是否显着一致/修复?
这还没有发生(至少我不这么认为),但我正在努力为最坏的情况提前计划,因为我们的集群稳定性可能会或可能不会长期失去,所以我宁愿做好准备能够。