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

Flink CDC同步MySQL数据又出现了把我们从库给搞宕机的情况。不知道为什么还是会产生那么多?

Flink CDC同步MySQL数据又出现了把我们从库给搞宕机的情况。我们指定了一个server-id,并行度也只给了一个ie,但是不知道为什么还是会产生那么多master-thread-id ?2612323019e3d09fe2d040a0d2f19b07.png

展开
收起
真的很搞笑 2023-11-22 09:26:26 85 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据您的描述,看起来可能是由于并发读取数据库的原因导致从库宕机的。即使您设置了单个并行度,并发读取仍然可能发生,因为Flink CDC会在多个线程中执行任务。
    要解决这个问题,您可以考虑以下几种方法:

    1. 调整并发度:请降低并行度以减少并发读取的数量,这可以帮助减少对数据库的压力。您可以尝试将并行度设置为较低的数值,例如1或2,然后观察效果。
    2. 控制读取速度:您可以控制Flink CDC的读取速度,以避免对数据库产生过多压力。例如,您可以调整源处理器的maxPollRecords参数来限制每次拉取的最大记录数。这样可以帮助减少并发读取的数量。
    3. 增加服务器资源:如果上述方法都不能解决问题,请检查您的服务器资源是否足够。增加内存、CPU或其他硬件资源可能会帮助缓解并发读取带来的压力。
    2023-11-29 13:42:39
    赞同 展开评论 打赏
  • 这个问题可能是由于Flink CDC在同步MySQL数据时,没有正确地处理并行度和server-id导致的。为了解决这个问题,你可以尝试以下方法:

    1. 检查你的Flink CDC配置,确保你正确地设置了server-id和并行度。你可以在Flink CDC的配置文件中设置这些参数,例如:
    jobmanager.rpc.address: localhost
    jobmanager.rpc.port: 6123
    parallelism.default: 4
    
    1. 在你的Flink SQL查询中,使用SET SESSION语句来设置server-id。例如:
    SET SESSION server_id = 1;
    
    1. 如果问题仍然存在,你可以尝试增加Flink CDC的并行度。这可以通过修改Flink CDC的配置文件来实现。例如,你可以将并行度设置为8:
    flink.cdc.connector.mysql.max-tasks: 8
    
    2023-11-25 09:17:09
    赞同 1 展开评论 打赏

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

相关产品

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

    更多
    搭建电商项目架构连接MySQL 立即下载
    搭建4层电商项目架构,实战连接MySQL 立即下载
    PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

    相关镜像