"为什么我flink-1.15.3升级cdc为2.3和2.4之后,创建多个sql-client任务都会产生mysql连接超时失败问题?是这两个版本加了什么参数设置吗?换回2.2.1就不会,可以创建多个任务。而2.3和2.4只能创建1-2个任务。
ddl没有设置,而且如果ddl设置也只是该任务的设置,看这个错是整个flink都使用了该设置,导致没办法共用连接池或者连接池不够。
我把所有任务停了,重新一个一个跑的。
看错误是连池不够导致的,2.3和2.4是把连接池默认改成20了吗?我使用sql-client提交sql任务,需要创建很多ddl表连接,这个要在哪重新设置整个连接池呢,如果在ddl中加,这个好像只是针对某个表的连接设置,为什么其它任务会受这个影响呢?使用2.2.1则不会。"
看起来问题是由于连接池或连接资源不足导致的连接超时错误。这可能与 Flink CDC 的版本升级中的一些参数设置或默认行为变化有关。
在 Flink 1.15.3 升级到 CDC 2.3 或 2.4 后,可能有一些连接池或连接资源的默认设置发生了变化,导致创建多个 SQL 客户端任务时出现连接超时问题。换回 2.2.1 版本可能没有这个问题,因为在该版本中连接池或连接资源的默认设置可能不同。
解决这个问题的一种方法是检查 Flink CDC 的配置项,并根据需要进行调整。以下是一些可能有助于解决连接超时问题的配置项:
connection.max-requests: 这个参数控制连接池中的最大连接数。如果你的任务数量增加,可以尝试增大这个值,以便连接池能够处理更多的连接请求。
connection.timeout: 这个参数控制连接的超时时间。你可以尝试增加超时时间,以便连接池有足够的时间来建立连接。
max-parallelism: 这个参数控制任务的最大并行度。如果你的任务数量较多,可以尝试减小最大并行度,以减少连接池中的连接数。
resources: 这个参数允许你为每个任务指定资源,包括连接资源。你可以为每个任务分配适当的连接资源,以确保连接池的连接数与任务数量匹配。
source会复用同一个链接,你看文档有说明,所以最开始的第一个ddl决定了上限。此回答整理至钉群“Flink CDC 社区”。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。