开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

为什么我flink-1.15.3升cdc为2.3和2.4后,创建多个sql-client任务都失败?

"为什么我flink-1.15.3升级cdc为2.3和2.4之后,创建多个sql-client任务都会产生mysql连接超时失败问题?是这两个版本加了什么参数设置吗?换回2.2.1就不会,可以创建多个任务。而2.3和2.4只能创建1-2个任务。
a4e02831ad195677a50a6161feb56385.png
ddl没有设置,而且如果ddl设置也只是该任务的设置,看这个错是整个flink都使用了该设置,导致没办法共用连接池或者连接池不够。
110c225a01f7b88f93b02e87e1dafb49.png
我把所有任务停了,重新一个一个跑的。
看错误是连池不够导致的,2.3和2.4是把连接池默认改成20了吗?我使用sql-client提交sql任务,需要创建很多ddl表连接,这个要在哪重新设置整个连接池呢,如果在ddl中加,这个好像只是针对某个表的连接设置,为什么其它任务会受这个影响呢?使用2.2.1则不会。"

展开
收起
十一0204 2023-08-09 08:17:18 76 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    看起来问题是由于连接池或连接资源不足导致的连接超时错误。这可能与 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: 这个参数允许你为每个任务指定资源,包括连接资源。你可以为每个任务分配适当的连接资源,以确保连接池的连接数与任务数量匹配。

    2023-08-13 17:24:51
    赞同 展开评论 打赏
  • 意中人就是我呀!

    source会复用同一个链接,你看文档有说明,所以最开始的第一个ddl决定了上限。此回答整理至钉群“Flink CDC 社区”。

    2023-08-09 11:56:22
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载