我在具有默认设置的6节点Cassandra群集上运行YCSB。 假设客户端已与协调器建立连接,并找到足够的副本来满足其一致性级别,如果出现以下情况将会发生:
(1)协调员失败了吗? YCSB客户端是否会联系其他协调员?
(2)一些副本是否已关闭?它会重试还是完全失败?
答案 0 :(得分:0)
请一次只提一个问题。回答你的问题:
如果选择作为协调器的节点关闭,则将选择另一个节点作为协调器。请注意,客户端应该与TokenAwareLoadBalancingPolicy
连接(可以在YCSB中配置吗?),只要在查询中传递了一个分区键(即所有客户端),就无需指定协调器节点 - 边查询应该这样做。
这取决于客户端指定的一致性级别。如果客户端以QUORUM
一致性运行,并且您的密钥空间定义为复制因子(RF)为3,那么您只需要能够访问两个副本。如果客户端以ONE
的一致性运行,那么您只需要找到一个。因此,如果您的RF为3,并且正在ONE
或LOCAL_ONE
进行查询,则两个节点可能会关闭,您仍然可以处理请求。 YCSB应该有办法配置它。