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

flink cdc 任务启动后加表读binlog报错有人碰到没?

flink cdc 任务启动后加表读binlog报错有人碰到没?2023-11-09 19:30:05,620 ERROR io.debezium.connector.mysql.MySqlStreamingChangeEventSource [] - Error during binlog processing. Last offset stored = {transaction_id=null, ts_sec=1699529405, file=mysql-bin.017726, pos=137351975, gtids=c90e9a14-a29d-11eb-8263-fa163e4737cc:1-118537222,cce375bc-a29d-11eb-bfaa-fa163e1154f1:1-2742775008, server_id=676171852, event=5}, binlog reader near position = mysql-bin.017726/137354061
2023-11-09 19:30:05,633 ERROR io.debezium.connector.mysql.MySqlStreamingChangeEventSource [] - Encountered change event 'Event{header=EventHeaderV4{timestamp=1699529405000, eventType=TABLE_MAP, serverId=676171852, headerLength=19, dataLength=82, nextPosition=137364414, flags=0}, data=TableMapEventData{tableId=642, database='flp', table='fx_access_info', columnTypes=8, 8, 8, 15, 15, 15, 3, 15, 15, 15, 1, 15, 15, 15, 15, 15, 1, 18, 18, 3, columnMetadata=0, 0, 0, 192, 96, 765, 0, 765, 765, 765, 0, 384, 765, 300, 48, 48, 0, 3, 3, 0, columnNullability={13, 14, 15}, eventMetadata=null}}' at offset {transaction_id=null, ts_sec=1699529405, file=mysql-bin.017726, pos=137361711, gtids=c90e9a14-a29d-11eb-8263-fa163e4737cc:1-118537226,cce375bc-a29d-11eb-bfaa-fa163e1154f1:1-2742775008, server_id=676171852, event=14} for table flp.fx_access_info whose schema isn't known to this connector. One possible cause is an incomplete database history topic. Take a new snapshot in this case. flink doris connector 启动的,动态加表

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

    这个错误提示表明Flink CDC在处理MySQL binlog时遇到了一个表的变更事件,但是它无法识别该表的模式。这可能是因为Flink CDC没有正确地读取数据库的历史数据,或者是因为你在动态添加表时没有正确地更新Flink CDC的任务配置。
    要解决这个问题,你可以尝试以下方法:

    1. 确保你已经正确地配置了Flink CDC任务,包括连接参数、源表和目标表等信息。请确保你的源表中包含主键,并且在创建Flink CDC任务时指定了正确的主键字段。
    2. 如果你是在动态添加表时遇到这个问题,那么你需要重新启动Flink CDC任务,以便它可以重新扫描数据库并获取所有表的信息。同时,请确保你的数据库历史数据是完整的,否则Flink CDC可能无法正确地追踪数据变化。
    3. 如果以上方法都无法解决问题,那么你可以在Flink CDC任务的日志中查找更详细的错误信息,并根据日志中的提示进行相应的调整。
    2023-11-16 13:24:33
    赞同 展开评论 打赏
  • 这个问题可能是由于Flink CDC在处理MySQL的binlog时遇到了问题。具体来说,它试图读取一个名为"mysql-bin.017726"的文件,但在这个文件中找不到对应的表"flp.fx_access_info"。这可能是由于以下原因:

    1. 数据库历史主题不完整:Flink CDC需要一个完整的数据库历史主题来正确地读取binlog。如果这个主题不完整,那么Flink CDC可能无法找到正确的表。

    2. 表名错误:请检查你的代码中是否正确地指定了表名。确保表名的大小写和数据库中的一致。

    3. 表不存在:如果表确实不存在,那么你需要创建它,或者更新你的代码以使用存在的表。

    4. Flink版本问题:如果你使用的是较旧的Flink版本,可能会遇到这个问题。尝试升级到最新版本,看看问题是否得到解决。

    5. 网络问题:如果binlog文件在网络上不可访问,那么Flink CDC也可能无法读取它。请检查你的网络连接,并确保binlog文件可以正常下载。

    2023-11-16 10:12:47
    赞同 展开评论 打赏
  • 加表是动态加表吧,mysql的,我指的是cdc的启动方式,init 默认全量启动还是时间戳启动,点位启动 ,此回答整理自钉群“Flink CDC 社区”

    2023-11-16 08:43:18
    赞同 展开评论 打赏

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

相关产品

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

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