它这个连接数就是指 Flink CDC连接 source 最大 20个的意思吧,整个 节点里面 还?

它这个连接数就是指 Flink CDC连接 source 最大 20个的意思吧,整个 taskManger 节点里面 还是说 一个 task 任务里面 20 哦。看现在的样子应该是整个 节点里面 都共用 着20个连接吗?image.png

展开
收起
真的很搞笑 2023-07-02 12:20:34 269 分享 版权
3 条回答
写回答
取消 提交回答
  • Flink CDC 的连接数限制是指 Flink CDC 与 source 数据库之间的最大连接数,而不是指一个 TaskManager 节点或一个任务中的连接数。

    当设置 Flink CDC 的并发度为 20 时,它表示 Flink CDC 可以同时建立最多 20 个与 source 数据库的连接。这些连接可以用于读取 binlog 或者进行其他操作,以实现数据的增量读取和同步。

    这些连接数是在 Flink 集群中共享且动态分配的。也就是说,连接数不是固定分配给每个 TaskManager 或每个任务的。根据 Flink 的资源管理策略,连接数会根据作业的并行度、TaskManager 的数量和资源配置等因素进行动态调整。

    因此,在一个 Flink 集群中,多个 TaskManager 可能会共享这些连接,并根据需要进行分配。具体的连接数分配策略由 Flink 的资源管理器决定。

    需要注意的是,连接数的大小对 Flink CDC 的性能和稳定性有一定影响。如果连接数过小可能导致任务无法及时获取源数据库的数据变化,而连接数过多则可能对源数据库造成压力。因此,您需要根据实际情况和需求来调整连接数的配置。

    2023-07-30 12:57:58
    赞同 展开评论
  • 北京阿里云ACE会长

    是的,这个问题应该是指 Flink CDC 连接 MySQL Source 的连接数存在限制。
    具体来说:
    每个 Flink CDC Job 中,都会建立多个源端连接,分别消费 MySQL binlog 日志中的事件。
    这些连接数对应于 Flink CDC Job 的分区(Partition)和并发数(Parallelism)配置。
    如果分区和并发数设置过大,超过 MySQL 可以支撑的最大连接数,就可能出现连接错误。
    Flink CDC 和 MySQL Source 之间的最大连接数存在限制。
    所以作用上面的说法,我的理解是:
    这个人的问题是,Flink CDC Job 创建超过 20 个连接(Partition 数 x Parallelism > 20)时就报错
    这说明 Flink CDC 到 MySQL Source 的最大连接数大约在 20 左右
    而不是整个 TaskManager 节点上的 Flink Job 连接数量
    要完全解决这个问题,需要提供更多信息:
    Flink 和 Flink CDC 的版本
    MySQL 的版本和配置(特别是最大连接数 max_connections )
    Flink CDC Job 的相关配置(分区 Partition 和并发 Parallelism)
    报错日志具体信息
    根据提供的情况,我们可以进一步判断:
    是否确实存在连接数限制
    Flink CDC 和MySQL版本是否兼容
    Flink Job的配置是否合理
    是否需要增加MySQL的最大连接数
    只有详细的情况,才能给出确切的建议。
    希望提供的信息能帮助解决

    2023-07-30 10:50:24
    赞同 展开评论
  • 这玩意儿是个单例吧,看看代码,是个话一个jvm 20,cdc任务达到20个,对于mysql主机也是蛮重的,推荐还是看看整库同步之类的,source会自动复用,此回答整理自钉群“Flink CDC 社区”

    2023-07-02 12:26:04
    赞同 展开评论

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

还有其他疑问?
咨询AI助理