2014-09-19 141 views
1

我試圖在amazon實例上安裝並運行Apache Cassandra。在實例一切工作正常。另外我可以通過cassandra-cli --host PUBLIC_IP --port 9160連接遠程機器。Cassandra + Java Spring連接問題

但是當我嘗試通過spring-data-cassandra(1.2.0.Build snapshot)連接cassandra時拋出錯誤:

All host(s) tried for query failed (tried: /PUBLIC_IP:9160 (com.datastax.driver.core.ConnectionException: [/PUBLIC_IP:9160] Unexpected error during transport initialization (com.datastax.driver.core.TransportException: [/PUBLIC_IP:9160] Channel has been closed))) 

我cassandra.yuml:

listen_address: localhost 
start_native_transport: true 
native_transport_port: 9042 
start_rpc: true 
rpc_address: 0.0.0.0 
rpc_port: 9160 
broadcast_rpc_address: PRIVATE_AWS_INSTANCE_IP 

卡桑德拉-CLI --host PUBLIC_IP --port 9160做工精細。

羣集豆:

@Bean 
public CassandraClusterFactoryBean cluster() throws Exception { 

    CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean(); 
    cluster.setContactPoints(env.getProperty("cassandra.contactpoints")); 
    cluster.setPort(Integer.parseInt(env.getProperty("cassandra.port"))); 
    return cluster; 
} 

道具:

cassandra.contactpoints=PUBLIC_IP 
cassandra.port=9160 
cassandra.keyspace=mykeyspace 

依賴關係:

<properties> 
    <spring.version>4.1.0.RELEASE</spring.version> 
</properties> 

<dependencies> 

    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-cql</artifactId> 
     <version>1.1.0.RELEASE</version> 
    </dependency> 


    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-expression</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

<dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-cassandra</artifactId> 
     <version>1.2.0.BUILD-SNAPSHOT</version> 
    </dependency> 

UPD

問題是RESOLV通過將端口更改爲9042(native)

回答

3

您正在使用本機驅動程序,但連接到Thrift端口。試試9042.