我正在尝试构建cassandra备份和恢复过程。
比方说,我有2个节点A和B以及具有副本因子2的表C。 在表C中,我们有ID = 5和Name =“ Alex”的行。 现在,节点B发生了一些问题,我们需要将其关闭几分钟以进行还原。 同时,当节点B关闭时,有人将ID = 5的行从Name =“ Alex”更改为Name =“ Alehandro”。
再次恢复已恢复数据的节点B,并且对于ID = 5的该节点行,仍然分别包含Name =“ Alex”。
当我尝试查找ID = 5的行时会发生什么? 节点A是否将与节点B同步?
谢谢。
答案 0 :(得分:1)
Cassandra有几种方法可以将数据同步到由于故障而丢失或存在垃圾收集暂停等操作而错过写入的节点。这包括:
nodetool repair
手动触发的显式数据同步,或可以使用诸如Reaper之类的工具将其自动化回答您的最后一个问题-当第二个节点返回时,如果尚未重播提示,并且您直接从该节点读取,并且读取的一致性级别为ONE或LOCAL_ONE,则可以获取旧数据。 / p>
P.S。我建议您仔细阅读DSE Architecture Guide-它涵盖了Cassandra的工作原理。