如果协调器坏了,它提示了对死replca节点的写请求,该怎么办



我读到关于cassandra写入请求的提示切换。其在协调器节点中存储关于死副本节点的提示。了解更多信息http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_about_hh_c.html

然后,如果死的副本节点变为活的,则协调器节点将获取提示信息并向该副本节点重播写入请求。我的问题是,当replca节点变为活动时,如果协调器节点是死的怎么办??如果协调器关闭,是否有任何备份协调器节点可以重播对副本节点的提示写入?

否。更糟糕的是,在目标停机一定时间后,提示将停止在协调器节点上累积——如果该节点可能永远死了,为什么要浪费空间。。。

因此,一旦您的节点从停机时间恢复,您就应该在该节点上运行nodetool repair -pr,以确保数据从其他节点复制到该节点。

Cassandra使用LoadBalancingPolicy驱动的故障切换策略->"我们将尝试此策略提供的Iterator中的下一个节点"

评论部分中的来源

如果协调器在请求过程中失败,我们的情况与非分布式情况类似:客户端处于黑暗中,别无选择,只能重试。唯一的区别是客户端可以立即重新连接到集群中的任何节点。https://www.datastax.com/dev/blog/how-cassandra-deals-with-replica-failure

Clente将尝试连接集群中的任何其他节点。

最新更新