Flink CDC有碰到过mongo-cdc与mysql-cdc的胖包放一起之后,mysql的作业无法启动的问题吗?
2023-11-30 01:50:48,073 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph [] - Source: t_a_data_develop_task_info[3] -> ConstraintEnforcer[4] -> t_a_data_develop_task_info[4]: Writer -> t_a_data_develop_task_info[4]: Committer (1/1) (e7c156712ee3d1468468a1713462c619_cbc357ccb763df2852fee8c4fc7d55f2_0_8) switched from INITIALIZING to RUNNING.
2023-11-30 01:50:48,079 ERROR org.apache.flink.runtime.source.coordinator.SourceCoordinator [] - Uncaught exception in the SplitEnumerator for Source Source: t_a_data_develop_task_info[3] while handling operator event RequestSplitEvent (host='10.36.0.6') from subtask 0 (#8). Triggering job failover.
org.apache.flink.util.FlinkRuntimeException: Chunk splitting has encountered exception
at com.ververica.cdc.connectors.mysql.source.assigners.MySqlSnapshotSplitAssigner.checkSplitterErrors(MySqlSnapshotSplitAssigner.java:583) ~[flink-sql-connector-mysql-cdc-2.4.2.jar:2.4.2]
at com.ververica.cdc.connectors.mysql.source.assigners.MySqlSnapshotSplitAssigner.getNext(MySqlSnapshotSplitAssigner.java:341) ~[flink-sql-connector-mysql-cdc-2.4.2.jar:2.4.2]
从日志中可以看出,Flink CDC在处理MySQL和MongoDB的CDC数据时遇到了问题。具体来说,当将两个连接器(mongo-cdc和mysql-cdc)放在同一个作业中时,MySQL作业无法启动。这可能是由于这两个连接器之间的兼容性问题导致的。
为了解决这个问题,你可以尝试以下方法:
确保你的Flink版本与这两个连接器的版本兼容。你可以查看官方文档或GitHub仓库中的已知问题,以了解这两个连接器之间是否存在已知的不兼容问题。
检查你的作业配置,确保没有设置可能导致冲突的配置参数。例如,你可能需要禁用其中一个连接器,或者调整它们的优先级。
如果可能的话,尝试将这两个连接器分开运行。这样,你可以分别调试它们的问题,而不是在一个作业中同时使用它们。
Flink CDC在处理多种数据源的变更数据捕获时,确实有可能遇到复杂性增加的情况。对于你的问题,目前并没有明确的证据表明将MongoDB的CDC和MySQL的CDC一起使用时,会导致MySQL作业无法启动。这两者都是Flink CDC的连接器,分别用于捕获MongoDB和MySQL的变更数据。
MongoDB CDC连接器可以连接到MongoDB数据库和集合,捕获其中的文档增加、更新、替换、删除等变更操作,并生成标准的Flink Changelog事件流。该连接器支持通过副本集或分片集架构模式读取阿里云云数据库MongoDB版的数据,也支持读取自建MongoDB数据库的数据。
另一方面,Flink CDC也能支持主流的关系型数据库MySQL,PostgreSQL等。在示例中,Flink CDC可以将MySQL中的数据实时同步到MongoDB。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。