我在一个DC中有两个C*2.0.2节点(在cassandra.yaml中有默认配置)和一个RF = 2的密钥空间.两个客户端使用Datastax Java Driver 1.0.3连接到此DC.客户端使用CL = ONE从/向C*读取和写入数据,没有任何错误.但当我关闭一个节点时,两个客户端都会遇到大量异常:
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried)
在那一堆例外之后,客户端继续成功地与另一个仍然存活的节点一起工作.我应该怎么做才能收到任何NoHostAvailableException,因为一次至少有一个活动节点并且使用了CL = ONE?
更新: 当我关闭两个节点中的一个时,我有时会在我的应用程序日志中看到以下异常:
[Reconnection-1] [ERROR] [Control connection] Cannot connect to any host, scheduling retry
如果我只关闭一个节点,为什么两个节点都不可用?第二个还活着,我可以用cqlsh连接到它.