从Springboot应用程序连接到Cassandra集群时会抛出“AllNodesFailedException:无法到达任何联系点”异常

li9yvcax  于 2022-11-29  发布在  Cassandra
关注(0)|答案(1)|浏览(193)

Springboot应用程序无法启动,因为它无法连接到Cassandra联系点。虽然相同的配置可用于本地主机Cassandra设置,但不能用于实际的Cassandra群集。配置类如下所示。

@Configuration
@EnableCassandraRepositories(basePackages = { "xyz.abc" })
public class CassandraConfiguration extends AbstractCassandraConfiguration {

    @Value("${cassandra.contactpoints}")
    private String contactPoints;

    @Value("${cassandra.port}")
    private int port;

    @Value("${cassandra.keyspace}")
    private String keySpace;

    @Value("${cassandra.schema-action}")
    private String schemaAction;
    
    @Override
    protected String getKeyspaceName() {
        return keySpace;
    }

    @Override
    protected String getContactPoints() {
        return contactPoints;
    }

    @Override
    protected int getPort() {
        return port;
    }
    

    @Override
    public SchemaAction getSchemaAction() {
        return SchemaAction.valueOf(schemaAction);
    }
hgb9j2n6

hgb9j2n61#

您发布的异常消息指示应用程序无法访问集群中的任何节点。
您尚未提供有关您的环境或如何配置群集的详细信息,但此异常主要与网络相关。您需要确保您的应用示例与您要连接的Cassandra群集的所有[本地]节点之间存在网络连接。请检查是否有防火墙阻止访问节点上的CQL客户端端口(默认值为9042)。
还要检查Cassandra节点是否配置为侦听公共可访问接口上的客户端连接--cassandra.yaml中的rpc_address不应设置为专用地址。
使用nctelnetnetstatlsof等Linux实用程序来帮助您进行故障排除。

相关问题