Flink CDC里在mysql库中新增一个mysql表之后,flink-sql就挂了:
2024-04-19 10:47:32,715 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph [] - Source: ods_xxx_cdc[72] -> MiniBatchAssigner[73] -> Calc[74] (1/3) switched from RUNNING to FAILED on container_xxx @ x.x.x.x (dataPort=...).
java.lang.RuntimeException: One or more fetchers have encountered exception
Caused by: java.lang.NoClassDefFoundError: com/ververica/cdc/common/utils/StringUtils
at com.ververica.cdc.connectors.mysql.source.utils.RecordUtils.isTableChangeRecord(RecordUtils.java:395) ~[flink-sql-connector-mysql-cdc-3.0.1.jar:3.0.1]
我看了下,flink-sql-connector-mysql-cdc-3.0.1.jar确实没有com/ververica/cdc/common/utils/StringUtils
看官方说明,flink-sql-connector-mysql是FAT JAR。SQL作业只需要在lib目录下添加该FAT JAR即可。
flink-cdc-3.0.1-bin.tar.gz的lib目录下包含了flink-cdc-dist-3.0.1.jar,里面有StringUtils。
我的疑问是
1:flink的lib目录下已经有flink-sql-connector-mysql-cdc-3.0.1.jar的情况下,我是否可以把flink-cdc-dist-3.0.1.jar添加到flink的lib目录下面去?
2:我在sql中的源表上添加配置参数schema-change.enabled=false,是否可以避免这个报错?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。