Datastax Java 驱动程序不连接,如果缺少一个主机
如果我没有记错的话,可以连接到Cassandra集群,知道集群中至少有一个节点,然后可以发现其他节点。
假设我有三个节点(1,2和3),我像这样连接到这些节点:
Cluster.builder().addContactPoints("1,2,3".split(",")).build();
然后,例如,如果节点 3 出现故障,并且无法解析 IP,则这行代码将抛出一个,如文档中所述:IllegalArgumentException
@throws IllegalArgumentException if no IP address for at least one of {@code addresses} could be found
为什么有人想要这种行为?我的意思是,如果其中一个节点关闭,我希望应用程序能够运行,因为Cassandra仍然工作正常。
我已经检查了这个Cassandra Java驱动程序:多少个联系点是合理的?但这并没有回答我的问题,因为它没有说任何关于主机的事情,而不是无法访问。
我应该如何处理这个问题?也许在另一个版本的java驱动程序中更改了这一点?我目前正在使用cassandra-driver-core-3.0.3