Cassandra 查询失败:尝试查询的所有主机均失败(未尝试任何主机)

2024-04-19

我无法对 Cassandra 节点进行查询。我能够连接到集群并进行连接。但是,在执行查询时,它失败了

Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried)
at com.datastax.driver.core.RequestHandler.reportNoMoreHosts(RequestHandler.java:217)
at com.datastax.driver.core.RequestHandler.access$1000(RequestHandler.java:44)
at com.datastax.driver.core.RequestHandler$SpeculativeExecution.sendRequest(RequestHandler.java:276)
at com.datastax.driver.core.RequestHandler.startNewExecution(RequestHandler.java:117)
at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:93)
at com.datastax.driver.core.SessionManager.executeAsync(SessionManager.java:127)
... 3 more

这就是我连接到集群的方式:

    List<String> servers = config.getCassandraServers();
    Builder builder = Cluster.builder();
    for (String server : servers) {
        builder.addContactPoints(server);
    }

    PoolingOptions opts = new PoolingOptions();
    opts.setCoreConnectionsPerHost(HostDistance.LOCAL, opts.getCoreConnectionsPerHost(HostDistance.LOCAL));

    // setup socket exceptions
    SocketOptions socketOpts = new SocketOptions();
    socketOpts.setReceiveBufferSize(1048576);
    socketOpts.setSendBufferSize(1048576);
    socketOpts.setTcpNoDelay(false);

    cluster = builder.withSocketOptions(socketOpts)
            .withRetryPolicy(DowngradingConsistencyRetryPolicy.INSTANCE)
            .withPoolingOptions(opts)
            .withReconnectionPolicy(new ConstantReconnectionPolicy(100L))
            .withLoadBalancingPolicy(new DCAwareRoundRobinPolicy(getColo(config)))
            .build();

    cluster.connect();

我正在使用最新稳定版本的 Cassandra 2.2.3 和 Datastax 驱动程序:

<dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>2.1.8</version>
</dependency>

任何指示都受到高度赞赏

谢谢 马斯蒂


这是解决方案:问题在于

.withLoadBalancingPolicy(new DCAwareRoundRobinPolicy(getColo(config)))

在这里,我在 AWS 云中只有一个节点来测试我的适配器,它使 Cassandra 无法运行。删除即可解决问题

Thanks

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cassandra 查询失败:尝试查询的所有主机均失败(未尝试任何主机) 的相关文章

随机推荐