【问题标题】:Cassandra : Pool is busy (no available connection and timed out after 10000 MILLISECONDS))Cassandra:池很忙(没有可用连接并且在 10000 MILLISECONDS 后超时))
【发布时间】:2017-12-21 13:05:49
【问题描述】:

一段时间以来,我一直在尝试向 cassandra 表添加行,但它在几秒钟后一直向我发送相同的错误消息:池正忙(无可用连接,并在 10000 毫秒后超时))

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

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

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

知道我能做什么吗?

感谢您的帮助!

【问题讨论】:

  • 你的 cassandra 集群的负载是多少?
  • 我的cassandra集群的负载是7.6 Go
  • 我指的是 CPU 负载方面的“负载”。集群似乎太忙,无法接受新连接。

标签: cassandra connection-pooling


【解决方案1】:

您需要将核心连接数设置为最大。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 2015-11-13
    • 2013-12-19
    • 1970-01-01
    • 2015-01-05
    相关资源
    最近更新 更多