节点发生故障时维护RF

时间:2019-02-28 06:33:27

标签: cassandra datastax-enterprise database-replication

当节点发生故障时,Cassandra是否保持RF。例如如果节点数为5,RF为2,那么当单个节点出现故障时,其余副本是否将其数据复制到其他节点以保持RF为2?

Datastax's documentation中,提到了“ go_js_wasm_exec,这是否意味着当节点发生故障时会发生数据迁移?此功能仅在Datastax的Cassandra中可用,而在Apache Cassandra中不可用吗? >

1 个答案:

答案 0 :(得分:1)

否,取而代之的是,“提示”将存储在协调器节点中,并最终在节点恢复时写入拥有令牌范围的节点-根据您的一致性级别,写入将成功。因此,在上面的示例中,如果您以一致性级别为ONE进行写入,则写入将成功。

如果该节点仅在短时间内关闭,则该节点将在返回时从其他节点的提示接收返回的数据。但是,如果您停用某个节点,则数据将被复制到其他节点,并且其他节点将具有新的令牌范围(与将节点添加到群集的情况相同)。

随着时间的流逝,一个副本中的数据可能变得与其他副本不一致,并且修复过程有助于Cassandra修复它们-https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsRepairNodesTOC.html

这也适用于Apache Cassandra。