2

我正在使用默认设置的 6 节点 Cassandra 集群上运行 YCSB。假设客户端已经与协调器建立连接,并找到足够的副本来满足其一致性级别,如果:

(1) 协调器宕机了?YCSB 客户会联系其他协调员吗?

(2) 部分副本宕机?它会重试还是简单地失败请求?

4

1 回答 1

1

请一次只问一个问题。在回答您的问题时:

  1. 如果被选为协调器的节点宕机,则另一个节点将被选为协调器。请注意,客户端应该连接TokenAwareLoadBalancingPolicy(在 YCSB 中可以配置吗?),只要在查询中传递分区键(所有客户端查询都应该是正在做)。

  2. 这取决于客户端指定的一致性级别。如果客户端以QUORUM一致性运行,并且您的密钥空间定义为复制因子 (RF) 为 3,那么您只需要能够命中两个副本。如果客户端以 的一致性运行ONE,那么您只需要找到一个。因此,如果您的 RF 为 3,并且正在查询ONELOCAL_ONE两个节点可能已关闭,您仍然可以为请求提供服务。YCSB 应该真的有办法配置它。

于 2016-12-16T14:28:42.457 回答