我有这段代码:
private final String CONTACT_POINT = "127.0.0.1";
private SynchronizationTableManager()
{
cluster = Cluster.builder().addContactPoint(CONTACT_POINT).build();;
session = cluster.connect(KEYSPACE);
createTableIfNotExists();
}
我得到以下异常:
所有尝试查询失败的主机(尝试:/127.0.0.1:9042(com.datastax.driver.core.TransportException:[/ 127.0.0.1:9042]无法连接))与堆栈跟踪:com。 datastax.driver.core.exceptions.NoHostAvailableException:尝试查询失败的所有主机(尝试:/127.0.0.1:9042(com.datastax.driver.core.TransportException:[/ 127.0.0.1:9042]无法连接) )
这发生在致电cluster.connect(KEYSPACE)
的线路上。知道如何解决这个问题吗?
答案 0 :(得分:3)
这很可能是 cassandra.yaml 设置的问题。请检查 listen_address , rpc_address 和 broadcast_rpc_address 的设置。
还请检查Java驱动程序的连接要求:https://github.com/datastax/java-driver/wiki/Connection-requirements
nodetool ring 还告诉您有关C *节点的信息?您可以通过 cqlsh 连接到您的节点吗?
答案 1 :(得分:0)
当我使用ssl证书从本地计算机连接到cassandra集群时,遇到了同样的异常。
就我而言,Java版本存在一些问题。我正在使用Java 1.80_91,这是旧版本。之后,我将Java版本更新为1.8.0_221。那对我来说是工作。
这可能会有所帮助,有人在同一条船上。