Cassandra:游泳池很忙(没有可用的连接并且在10000 MILLISECONDS之后超时))

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cassandra:游泳池很忙(没有可用的连接并且在10000 MILLISECONDS之后超时))相关的知识,希望对你有一定的参考价值。

我一直在尝试将行添加到cassandra表中一段时间​​,但它在几秒钟后仍然向我发送相同的错误消息:池正忙(没有可用的连接并且在10000 MILLISECONDS之后超时))

我仍然插入了几行(一百个),但它很快停止

我试图更改一些池选项,但它没有太大变化:

PoolingOptions poolingOptions = new PoolingOptions();//
        poolingOptions.setMaxRequestsPerConnection(HostDistance.LOCAL, 32768);
        poolingOptions.setPoolTimeoutMillis(10000);
        poolingOptions.setMaxConnectionsPerHost(HostDistance.LOCAL, 8);
        poolingOptions.setMaxQueueSize(20);
        poolingOptions.setIdleTimeoutSeconds(20);

知道我能做什么吗?

谢谢你的帮助 !

答案

您需要将核心连接设置为max。

val poolingOptions = new PoolingOptions()
    .setConnectionsPerHost(HostDistance.LOCAL, 1, 2)
    .setMaxRequestsPerConnection(HostDistance.LOCAL, 32768)
    .setCoreConnectionsPerHost(HostDistance.LOCAL, 2)

您可以根据需要设置配置。比如,最大请求可以达到多少。当前配置可以管理大约50K的请求。有关refer的更多信息

以上是关于Cassandra:游泳池很忙(没有可用的连接并且在10000 MILLISECONDS之后超时))的主要内容,如果未能解决你的问题,请参考以下文章

强一致性模式下的 Cassandra 可用性损失

传输层TCP协议连接的建立和断开

cassandra 中的地理感知分区

从 java 代码连接 cassandra 集群时出错

Heroku 部署中的 Cassandra 连接问题

Cassandra 集群重启后没有恢复?