Проблемы с подключением Cassandra + Java Spring

Я попытался установить и запустить Apache Cassandra на экземпляре Amazon. На экземпляре все работает нормально. Также я могу подключиться с удаленной машины через cassandra-cli --host PUBLIC_IP --port 9160.

Но когда я пытаюсь подключиться через 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)))

Моя кассандра.юмл:

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

cassandra-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

Проблема решилась сменой порта на 9042 (родной)


person Yuriy Aizenberg    schedule 19.09.2014    source источник


Ответы (1)


Вы используете собственный драйвер, но подключаетесь к порту Thrift. Попробуйте 9042.

person rs_atl    schedule 19.09.2014