当前位置:  开发笔记 > 编程语言 > 正文

Cassandra Java驱动程序错误 - 所有主机都尝试查询失败连接已关闭

如何解决《CassandraJava驱动程序错误-所有主机都尝试查询失败连接已关闭》经验,为你挑选了1个好方法。

所有,

我在Digital Ocean中有一个3节点的集群cassandra.根据CQL中的SHOW VERSION,cassandra的版本如下所示

[cqlsh 5.0.1 | Cassandra 3.0.0 | CQL规范3.3.1 | 原生协议v4]

我能够使用cqlsh从另一个节点连接到集群的一个节点并运行命令...但是当我尝试使用java驱动程序进行连接时,我得到以下异常

com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /128.xxx.xxx.xx:9042 (com.datastax.driver.core.TransportException: [/128.xxx.xxx.xxx:9042] Connection has been closed))
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:222)
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:77)
at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1232)
at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:336)
at com.attinad.cantiz.iot.platform.vehicledatapoc.App.connect(App.java:22)
at com.attinad.cantiz.iot.platform.vehicledatapoc.App.main(App.java:14)

我使用的java驱动程序的版本是2.0.10.maven配置如下


com.datastax.cassandra
cassandra-driver-core
2.0.10

我检查了cassandra.yaml,发现以下设置已正确设置

start_native_transport: true
native_transport_port: 9042
rpc_address: 128.xxx.xxx.xx
listen_address: 128.xxx.xxx.xx

已经正确配置...所以我完全失去了...任何帮助表示赞赏



1> Michael Koch..:

根据2.0.10驱动程序文档,该版本的驱动程序与Apache Cassandra 1.2和2.0兼容.在3.0驱动程序中添加了与3.0的兼容性,该驱动程序目前为3.0.0-beta1.协议兼容性错误应显示在Cassandra服务器日志中.

您可以将Cassandra降级为2.x版本或试用beta驱动程序.如果您现在想要在生产中使用该系统,降级Cassandra应该是更安全的选择.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有