flink cdc 同步MySQL的数据,大概2400W数据,同步的时候产生了大概10W个master_thread_id,同步完成之后,这些线程没有释放,如何解决呀?flink version 1.13.6 CDC version 2.3
当使用 Flink CDC 同步大量数据时,可能会遇到线程没有释放的情况。这可能是由于以下原因导致的:
Flink JobManager 配置:在 Flink 集群中,JobManager 默认情况下会保留历史任务的状态信息。如果历史任务较多,可能导致线程资源无法释放。您可以通过调整 JobManager 的配置来限制状态保存的数量。具体参考 Flink 的官方文档进行配置调整。
CDC Connector 配置:在 Flink CDC Connector 中,可以调整连接器的配置来优化资源占用。可以尝试调整以下参数:
max.parallelism:调整该参数来控制并行读取和写入的线程数量。
task.max-parallelism:控制任务的最大并行度,可以根据具体情况调整。
buffer.memory.max:调整缓冲区的内存大小,避免内存溢出。
buffer.timeout.max:调整缓冲区的超时时间,避免阻塞过长时间。
数据库连接池配置:确保数据库连接池的配置合理。可以调整连接池的最大连接数、最大空闲连接数等参数,以满足数据同步的需求。
数据分区和并行度:在 Flink Job 中使用适当的数据分区和并行度配置。可以根据数据的特性和处理需求,合理划分和分配任务,以提高任务的并行度和效率。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。