Java 无法使Cassandra在基本应用程序中工作
这是我当前的错误:Java 无法使Cassandra在基本应用程序中工作,java,cassandra,pom.xml,datastax-java-driver,Java,Cassandra,Pom.xml,Datastax Java Driver,这是我当前的错误: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1 (com.datastax.driver.core.TransportException: [/127.0.0.1] Unexpected exception triggered (java.lang.NoClassDefFoundError: C
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1 (com.datastax.driver.core.TransportException: [/127.0.0.1] Unexpected exception triggered (java.lang.NoClassDefFoundError: Could not initialize class com.datastax.driver.core.Codec)))
com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:186)
com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:81)
com.datastax.driver.core.Cluster$Manager.init(Cluster.java:773)
com.datastax.driver.core.Cluster$Manager.access$100(Cluster.java:706)
com.datastax.driver.core.Cluster.<init>(Cluster.java:79)
com.datastax.driver.core.Cluster.<init>(Cluster.java:66)
com.datastax.driver.core.Cluster$Builder.build(Cluster.java:687)
com.t2.claims.persistence.CassandraClient.getOrCreateCluster(CassandraClient.java:12)
com.t2.claims.persistence.CassandraClient.getOrCreateSession(CassandraClient.java:18)
com.t2.claims.dao.AlertDaoImpl.findAll(AlertDaoImpl.java:25)
com.t2.claims.controllers.AlertIndexController.doAfterCompose(AlertIndexController.java:36)
org.zkoss.zk.ui.impl.UiEngineImpl.doAfterCompose(UiEngineImpl.java:529)
....
有人能告诉我为什么会出现这个异常吗?我有一个cassandra客户端在本地运行。(版本1.2.11)。这不是pom文件的问题。您的客户端(DataStax Java驱动程序)无法访问您的cassandra数据库。这可能是因为以下几个原因:
- 检查您正在使用的节点的地址
- 还要检查端口,Cassandra本机二进制协议的默认端口是9042李>
此处的更多信息:这不是pom文件的问题。您的客户端(DataStax Java驱动程序)无法访问您的cassandra数据库。这可能是因为以下几个原因:
- 检查您正在使用的节点的地址
- 还要检查端口,Cassandra本机二进制协议的默认端口是9042李>
此处的详细信息:您的cassandara服务器似乎没有侦听您的请求。 请尝试telnet 127.0.0.1 9160 如果你得到这个 telnet:无法连接到远程主机:连接被拒绝 对于使用DataStax驱动程序的jdbc库来说,它更为成熟且无bug
<dependency>
<groupId>org.apache-extras.cassandra-jdbc</groupId>
<artifactId>cassandra-jdbc</artifactId>
<version>1.2.5</version>
</dependency>
org.apache-extras.cassandra-jdbc
卡桑德拉jdbc
1.2.5
然后重新启动您的cassandara您的cassandara服务器似乎没有侦听您的请求。 请尝试telnet 127.0.0.1 9160 如果你得到这个 telnet:无法连接到远程主机:连接被拒绝 对于使用DataStax驱动程序的jdbc库来说,它更为成熟且无bug
<dependency>
<groupId>org.apache-extras.cassandra-jdbc</groupId>
<artifactId>cassandra-jdbc</artifactId>
<version>1.2.5</version>
</dependency>
org.apache-extras.cassandra-jdbc
卡桑德拉jdbc
1.2.5
重新启动您的cassandra遇到了太类似的问题:我的spring应用程序失败,没有可用的主机,我可以通过将配置文件cassandra.yaml中的rpc_端口和native_transport_端口设置为匹配用于连接cassandra的eaxct IP地址(即Cluster.builder()。addContactPoints()来解决问题(…这里的IP地址…),但随后是cqlsh,它不再启动,因为主机没有侦听…直到我意识到侦听器(rpc或本机传输)要么监听127.0.0.1,要么监听主机的真实IP 10.0.0.5,这在这个实现中造成了很大的不同!所以我通过调整cqlsh脚本以同时使用10.0.0.5和获取解析为127.0.0.1而不是10.0.0.5的本地主机名的rif来解决它……这不符合原始的IP网络原理有一个终端应用程序能起到如此大的作用。遇到了太类似的问题:我的spring应用程序失败,没有可用的主机,我可以通过在配置文件cassandra.yaml中设置rpc_端口和native_transport_端口,以匹配用于连接到cassandra的eaxct IP地址(即Cluster.builder()。addContactPoints()(…这里的IP地址…),但随后是cqlsh,它不再启动,因为主机没有侦听…直到我意识到侦听器(rpc或本机传输)要么监听127.0.0.1,要么监听主机的真实IP 10.0.0.5,这在这个实现中造成了很大的不同!所以我通过调整cqlsh脚本以同时使用10.0.0.5和获取解析为127.0.0.1而不是10.0.0.5的本地主机名的rif来解决它……这不符合原始的IP网络原理我在虚拟机上安装了Cassandra服务器,但无法远程访问。我获得了异常:
com.datastax.driver.core.exceptions.NoHostAvailableException:
All host(s) tried for query failed (tried: /192.168.1.76:9042 (com.datastax.driver.core.TransportException: [/192.168.1.76:9042] Cannot connect))
首先,我确认我无法通过telnet访问端口9042
我解决了在cassandra服务器上修改cassandra.yaml配置文件的问题
rpc_address = 0.0.0.0
broadcast_rpc_address = 1.2.3.4
那是因为
rpc_地址(或rpc_接口)用于客户端连接,
listen\u address属性用于节点间通信。我在虚拟机上安装了Cassandra Server,无法远程访问它。我获得了异常:
com.datastax.driver.core.exceptions.NoHostAvailableException:
All host(s) tried for query failed (tried: /192.168.1.76:9042 (com.datastax.driver.core.TransportException: [/192.168.1.76:9042] Cannot connect))
首先,我确认我无法通过telnet访问端口9042
我解决了在cassandra服务器上修改cassandra.yaml配置文件的问题
rpc_address = 0.0.0.0
broadcast_rpc_address = 1.2.3.4
那是因为
rpc_地址(或rpc_接口)用于客户端连接,
侦听地址属性用于节点间通信