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

Flink CDC有人遇到过这个问题吗?增量snapshot 阶段出现?

Flink CDC有人遇到过这个问题吗?增量snapshot 阶段出现?flinkruntimeexception: Failed to assign splits ... due to Caused by: java.lang.NullPointerException image.png

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

    是的,在 Flink CDC 中有人报告过类似的问题,即在增量快照阶段出现 "Failed to assign splits ... due to Caused by: java.lang.NullPointerException" 错误。这是一个已知的问题,主要是由于在进行增量快照时,Flink CDC 试图分配不存在的切分所致。
    为了解决这个问题,您可以尝试以下几种方法:

    • 增加连接池大小。您可以尝试增加 MySQL 连接池大小,以避免因连接不足而导致的错误。您可以使用 flink.cdc.mysql.source.connection.max-connections 配置选项来设置连接池大小。
    • 减小事务并发数。您也可以尝试减小 Flink CDC 中使用的事务并发数,以便减少同时执行的快照数量。您可以使用 flink.cdc.mysql.source.transaction-concurrency 配置选项来设置事务并发数。
    • 将表从只读模式改为可写模式。当您的表处于只读模式时,MySQL 可能会阻止 Flink CDC 执行快照。因此,您可以尝试将表从只读模式改为可写模式,以便允许 Flink CDC 执行快照。
    2023-11-29 15:52:27
    赞同 展开评论 打赏
  • 这个问题是由于全量快照阶段表结构更改导致的,可以跟业务确认下,是不是加字段,此回答整理自钉群“Flink CDC 社区”

    2023-11-22 10:39:43
    赞同 展开评论 打赏
  • 这个错误信息表示在Flink CDC的增量快照阶段,无法分配拆分(splits),原因是Java.Lang.NullPointerException,即空指针异常。

    空指针异常通常发生在试图访问一个null对象的非静态成员、方法或接口时。这可能是由于Flink的某些内部实现导致的。

    解决这个问题的方法主要是查找出触发空指针异常的代码部分,然后修复它。这可能需要查看Flink的源代码,或者寻求专业的技术支持。

    另外,你也可以尝试更新Flink的版本,因为新版本的Flink可能会修复这个bug。但是请注意,更新Flink的版本可能需要对应用进行一些修改,因为不同版本的Flink可能有不同的API和功能。

    2023-11-22 10:35:30
    赞同 展开评论 打赏

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

相关产品

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

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