2016-12-01 100 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版本不兼容。