“所有主机尝试查询失败”错误 [英] "All host(s) tried for query failed" Error
问题描述
我的Java代码如下:
My Java code is as follows:
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.Session;
public class CustomerController {
public void execute() {
Cluster cluster = Cluster.builder()
.addContactPoints("172.16.11.126", "172.16.11.130")
.withPort(9042)
.build();
Session session = cluster.connect();
String command = "drop keyspace if exists bookstore";
session.execute(command);
cluster.close();
}
}
当我运行代码时, :
线程main中的异常
com.datastax.driver.core.exceptions.NoHostAvailableException:All
主机尝试查询失败(尝试:/172.16.11.130
(com.datastax.driver.core.TransportException:[/172.16.11.130]不能
连接),/172.16.11.126(com .datastax.driver.core.TransportException:
[/172.16.11.126]无法连接))
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:195)< br>
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:78)
at com.datastax.driver.core.Cluster $ Manager.init(Cluster.java :1029)
at com.datastax.driver.core.Cluster.init(Cluster.java:120)
at com.datastax.driver.core.Cluster.connect(Cluster .java:197)
at com.pragatisoftware.datastax99.app.CustomerController.execute(CustomerController.java:12)
at com.pragatisoftware.datastax99.app.Application.run (Application.java:10)
at com.pragatisoftware.datastax99.app.Application.main(Application.java:6)
Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /172.16.11.130 (com.datastax.driver.core.TransportException: [/172.16.11.130] Cannot connect), /172.16.11.126 (com.datastax.driver.core.TransportException: [/172.16.11.126] Cannot connect))
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:195)
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:78)
at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1029)
at com.datastax.driver.core.Cluster.init(Cluster.java:120)
at com.datastax.driver.core.Cluster.connect(Cluster.java:197)
at com.pragatisoftware.datastax99.app.CustomerController.execute(CustomerController.java:12)
at com.pragatisoftware.datastax99.app.Application.run(Application.java:10)
at com.pragatisoftware.datastax99.app.Application.main(Application.java:6)
环境信息:
- Ubuntu机器
- Eclipse Luna
- Java 1.7
- Cassandra 2.0.11
- Ubuntu machine
- Eclipse Luna
- Java 1.7
- Cassandra 2.0.11
yaml:
native_transport_port: 9042
$ b b
Cassandra在上面提供的IP地址(172.16.11.130和172.16.11.126)上运行,我可以使用CQLSH连接到这两台机器。
Cassandra is running on both the IP addresses provided above (172.16.11.130 and 172.16.11.126) and I am able to connect using CQLSH to both the machines.
顺便说一下,相同的代码(使用适当的IP地址)在Windows机器上使用Cassandra 2.0.9。
By the way, the same code (with the appropriate IP address) worked on a Windows machine, using Cassandra 2.0.9.
推荐答案
更改rpc_address:0.0.0.0
broadcast_rpc_address:1.2.3.4(不应该是0.0.0.0)。
Cassandra版本2.1.10
Change rpc_address: 0.0.0.0 broadcast_rpc_address: 1.2.3.4 (Should not be 0.0.0.0) . for Cassandra version 2.1.10
同样对于任何进一步的问题,读取cassandra.yaml文件。很多东西都是自我解释的。
Also for any further issue read cassandra.yaml file . lot of things are self explanatory.
这篇关于“所有主机尝试查询失败”错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!