将来自社区的Apache Cassandra专家和DataStax聚集在一起。

想学习吗?有一个问题?想分享您的专业知识吗?你是在正确的地方!

不知道从哪里开始? 入门

 

问题

michael.shatz_192704头像图片
michael.shatz_192704 ·

如何增加已达到256个最大值的连接池大小?

你好,

请求因以下错误而失败:

io.cyanite.api request process exceptioncom.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /<IP>:9042 (com.datastax.driver.core.exceptions.BusyPoolException: [/<IP>] Pool is busy (no available connection and the queue has reached its max size 256))) 

你能告诉我如何增加拉力大小吗

谢谢

麦可

Java驱动
10 | 1000 所需字符 剩余字符 超出字符

最多可以使用8个附件(包括图像),每个附件最多1.0 MiB,总共10.0 MiB。

1 回答

 埃里克·拉米雷斯(Erick Ramirez) 头像图片
埃里克·拉米雷斯(Erick Ramirez) 已回答 ·

The BusyPoolException gets thrown when all the connections in the pool are used and there are no available slots left. This can happen when:

  • 一个应用程序正在发送多个长期运行的请求,这些请求最终会占用池中的所有连接,直到没有连接为止,或者
  • 节点超载,请求排队。

The driver will attempt to connect to nodes in the query plan one by one but when they're all busy and there are no nodes left to contact in the list, the driver will return the NoHostAvailableException.

试图增加连接池的大小并不能达到您想要的结果,这仅仅是因为节点已经过载,并且向队列中添加更多请求只会使情况变得更糟。

您需要检查您的查询,并确保您仅在执行单分区请求。您还需要限制流量,以确保不会使群集超载。干杯!

6 评论 分享
10 | 1000 所需字符 剩余字符 超出字符

最多可以使用8个附件(包括图像),每个附件最多1.0 MiB,总共10.0 MiB。

你好 @埃里克·拉米雷斯

感谢您的回答。

即使可以,请您指导如何增加泳池大小?

谢谢

0个赞 0 ·
显示更多评论

你好

我在cassandra.yaml中设置以下属性
max_connections_per_host = 1000和
max_requests_per_connection = 1024

卡桑德拉(Cassandra)重新启动

但是上面没有帮助,已经抛出了BusyPoolException。

请指教

谢谢

0个赞 0 ·
显示更多评论