2014-09-19 97 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.