2016-12-01 76 views
1

我的代码在Java中:的Java连接到卡桑德拉NoHostAvailableException

public static void main(String[] args) { 
    Cluster cluster; 
    Session session; 

    cluster = Cluster.builder() 
       .addContactPoint("127.0.0.1") 
       .withPort(9042) 
       .build(); 

    session = cluster.connect("Bundesliga"); 

    session.execute("INSERT INTO test(c1,c2,c3,c4,c5) VALUES(0,0,0,0,0)"); 
} 

错误消息:在线程 “主要” com.datastax.driver.core.exceptions.NoHostAvailableException

例外:所有 (尝试:/127.0.0.1:9042(null))在 com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:196) at com.datastax.driver。 core.Cont rolConnection.connect(ControlConnection.java:80) at com.datastax.driver.core.Cluster $ Manager.init(Cluster.java:1145) at com.datastax.driver.core.Cluster.init(Cluster.java: 149)at com.datastax.driver.core.Cluster.connect(Cluster.java:225)at com.datastax.driver.core.Cluster.connect(Cluster.java:258)at cassandra.cassandra_main.main( cassandra_main.java:19)

我已经看过在cassandra.yaml

start_native_transport:真

native_transport_port:9042

+0

你确定cassandra正在本地主机上监听吗?由于cassandra集群中的节点必须彼此通信,因此通常会在外部IP地址上打开其端口。 –

+0

in cassandra.yaml是本地主机上的listen_adress – fsstudent

+0

你可以包含'netstat -anp | grep 9042'? –

回答

1

我固定它。

问题是,cassandra-driver-core的版本与cassandra版本不兼容。