/127.0.0.1连接上的错误(com.datastax.driver.core.TransportException:[/ 127.0.0.1]触发了意外的异常),没有更多的主机可以尝试

时间:2016-02-07 14:04:05

标签: java cassandra cqlsh nodetool

我正在尝试在Windows环境下将Cassandra与Java连接。以下是application / OS / lib版本。

-Windows 7
-Java 7
-Cassandra 2.1.12

代码:

Cluster clst;
Session ses;
clst= Cluster.builder().addContactPoint("127.0.0.1").withPort(9042).build();

Cassandra和nodetool正在运行。以下是nodetool的状态。

C:\Program Files\DataStax Community\apache-cassandra\bin>nodetool -h localhost status
Starting NodeTool
Datacenter: datacenter1
========================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns    Host ID                               Rack
UN  127.0.0.1  245.99 KB  256     ?       61c6b0e5-2f83-4bc9-9b86-6507e2f06dfc  rack1

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless
C:\Program Files\DataStax Community\apache-cassandra\bin>

当我尝试将cassandra与localhost / 127.0.01连接时,我在stacktrace中得到以下错误。

19:19:05.996 [main] DEBUG c.d.driver.core.ControlConnection - [Control connection] Refreshing node list and token map
19:19:06.465 [main] DEBUG c.d.driver.core.ControlConnection - [Control connection] error on /127.0.0.1 connection (com.datastax.driver.core.TransportException: [/127.0.0.1] Unexpected exception triggered), no more host to try
19:19:06.469 [main] DEBUG com.datastax.driver.core.Cluster - Shutting down
Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: [/127.0.0.1])
    at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:162)
    at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:83)
    at com.datastax.driver.core.Cluster$Manager.<init>(Cluster.java:516)
    at com.datastax.driver.core.Cluster$Manager.<init>(Cluster.java:473)
    at com.datastax.driver.core.Cluster.<init>(Cluster.java:65)
    at com.datastax.driver.core.Cluster.buildFrom(Cluster.java:93)
    at com.datastax.driver.core.Cluster$Builder.build(Cluster.java:458)
    at cass.Cass.main(Cass.java:16)
Java Result: 1

此外,我也尝试在其他网站上找到stackoverflow上的解决方案,但未能解决我的问题。

是否有人为此查询提供了一些解决方案?

3 个答案:

答案 0 :(得分:0)

请检查你的rpc_address。我建议把rpc_address = 0.0.0.0 和broadcast_rpc_address = 监听地址可以为空白或机器IP

答案 1 :(得分:0)

从您的堆栈跟踪中,我怀疑您使用的是非常旧版本的Java驱动程序,可能是1.x系列中的某个版本(1.0.1?)。尝试使用最新的3.0.0版本,看看错误是否仍然存在。

答案 2 :(得分:0)

我发现了问题,我使用了很多第三方库运行了一个项目的代码,其中一个导致了错误(我还不知道哪一个)。我替换了整个jar文件并解决了问题。转到以下URL并根据您正在使用的cassandra版本下载Java驱动程序jar文件。 http://docs.datastax.com/en/developer/driver-matrix/doc/javaDrivers.html#java-drivers