假设我有一个由三个节点组成的集群(为简单起见),复制因子为1.让我们调用节点A,B和C.
根据环,分区密钥X应该存储在A上。但是,由于数据库恢复,分区密钥X的数据已经在节点B上结束(并且A根本不存储X)。
问题:如果我发出nodetool repair
,是否会确保分区键X在A上结束?
据我所知,执行数据库恢复的真正方法是使用类似sstableloader
的内容,但是由于不可预见的情况,上面的操作对我来说可能是一个更简单的解决方案(如果有效!)。 / p>
答案 0 :(得分:1)
对于具有复制因子1的群集,您无法使用修复。如果每个节点都拥有自己的令牌范围,那么Cassandra修复节点间的数据是没有意义的。在这种情况下,使用sstableloader
将是更清晰的解决方案。