Cassandra &引用;所有尝试查询的主机均失败“;错误

Cassandra &引用;所有尝试查询的主机均失败“;错误,cassandra,datastax-java-driver,Cassandra,Datastax Java Driver,我的Java代码如下: 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()

我的Java代码如下:

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:所有 尝试查询的主机失败(已尝试):/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]无法连接))
在com.datastax.driver.core.ControlConnection.ReconnectionInternal(ControlConnection.java:195)
在com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:78)
位于com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1029)
位于com.datastax.driver.core.Cluster.init(Cluster.java:120)
位于com.datastax.driver.core.Cluster.connect(Cluster.java:197)
在com.pragatisoftware.datastax99.app.CustomerController.execute(CustomerController.java:12)
在com.pragatisoftware.datastax99.app.Application.run(Application.java:10)
位于com.pragatisoftware.datastax99.app.Application.main(Application.java:6)

环境资料:

  • Ubuntu机器
  • 月蚀
  • Java 1.7
  • 卡桑德拉2.0.11
在cassandra.yaml中:

native_transport_port: 9042
Cassandra在上面提供的两个IP地址(172.16.11.130和172.16.11.126)上运行,我能够使用CQLSH连接到这两台机器


顺便说一下,相同的代码(具有适当的IP地址)在Windows计算机上工作,使用Cassandra 2.0.9。

更改rpc_地址:0.0.0.0 广播地址:1.2.3.4(不应为0.0.0.0)。 对于Cassandra版本2.1.10


对于任何进一步的问题,请阅读cassandra.yaml文件。很多事情都是不言自明的。

你是什么
cassandra.yaml
?特别是
rpc\u地址
还要确保yaml文件中的
start\u native\u transport:true
。@Chiron,rpc\u地址是localhost。将其更改为0.0.0.0有效。谢谢