1

假设我有一个由三个节点组成的集群,(为简单起见)复制因子为 1。我们称节点 A、B 和 C。

根据环,分区键 X 应该存储在 A 上。但是,由于数据库恢复,分区键 X 的数据最终在节点 B 上(而 A 根本不存储 X)。

问题:如果我发出nodetool repair,它会确保分区键 X 最终出现在 A 上吗?

我知道,进行数据库恢复的真正方法是使用类似的东西sstableloader,但是由于不可预见的情况,执行上述操作对我来说可能是一个更简单的解决方案(如果它有效!)。

4

1 回答 1

1

您不能对复制因子为 1 的集群使用修复。如果每个节点都拥有自己的令牌范围,Cassandra 跨节点修复数据是没有意义的。在这种情况下,使用sstableloader将是更清洁的解决方案。

于 2016-04-15T07:39:05.760 回答