问题一:Flink CDC 就报这个错,这个有人碰到过吗?
Flink CDC 2023-11-17 08:29:02,470 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph [] - Source: t_a_sync_table[5] (1/1) (97b0c6d60d7c71e3ded020b3ee68a063_bc764cd8ddf7a0cff126f51c16239658_0_7) switched from RUNNING to FAILED on 10.44.0.21:45492-71b1c1 @ 10.44.0.21 (dataPort=44245).
java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.sqlserver.SqlServerConnectorConfig
at io.debezium.connector.sqlserver.SqlServerConnector.taskConfigs(SqlServerConnector.java:62) ~[flink-sql-connector-sqlserver-cdc-2.4.2.jar:2.4.2]
at io.debezium.embedded.EmbeddedEngine.run(EmbeddedEngine.java:729) ~[flink-sql-connector-mysql-cdc-2.2.1.jar:2.2.1]
我们的环境里需要同时采集mysql与sqlserver,现在发现把mysql-connector的胖包放进去,就报这个错,这个有人碰到过吗?
参考回答:
他这个是不同版本造成的问题,
cdc只能用一个版本哈
比如要是2.4.2,都是2.4.2,不能一个2.4.2 一个2.2.1
除非你用ds作业,依赖打进jar独立运行,这种也是推荐的方式
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572324
问题二:Flink CDC我用TIMESTAMP_LTZ(3)就出现这种报错?
Flink CDC我用TIMESTAMP_LTZ(3)就出现Unable to convert to timestamp with local timezone from unexpected value 'BsonInt64{value=1681407447228}' of type INT64这种报错?
参考回答:
错误消息表明Flink无法正确地将BSON Int64类型转换为带有本地时区的时间戳(TIMESTAMP_LTZ)。这是因为在BSON中,日期和时间是以Unix时间戳形式表示的,而TIMESTAMP_LTZ则需要一个附加的时区信息。
要解决这个问题,您可以考虑以下几种方法:
- 调整数据源中的日期时间格式:请确保数据源中的日期时间字段按照Flink期望的格式进行编码。例如,您可以将日期时间字段转换为ISO 8601字符串,如
YYYY-MM-DDTHH:MI:SS.MMMVV
,其中VV代表时区偏移量(如+08:00
)。 - 在Flink中自定义日期时间格式:您可以在Flink中定义自己的日期时间格式,然后在读取数据时使用该格式。例如,您可以定义一个名为
timestamp-ltz-format
的配置项,并为其设置值为yyyy-MM-dd'T'HH:mm:ss.SSSX
,然后在读取数据时使用format: timestamp-ltz-format
选项。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572323
问题三:Flink CDC FLINK CDC MYSQL->CLICKHOUSE,有遇到这种问题嘛?
Flink CDC FLINK CDC MYSQL->CLICKHOUSE,有大佬遇到[The state is cleared because of state ttl. This will result in incorrect result. You can increase the state ttl to avoid this.]这种问题嘛?
参考回答:
FLINK CDC 中出现 The state is cleared because of state ttl
错误通常是由于没有设置足够的 TTL 时间,导致状态过期。以下是一些建议:
- 检查您的 FLINK CDC 配置文件,并增加状态超时时间(state.ttl)。如果尚未设置,则建议您将其设置为至少一天以上。
- 确保有足够的内存资源可用于 FLINK CDC 存储状态。
- 如果是临时表,可以考虑使用 FLINK SQL 状态持久化功能来避免状态超时问题。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572315
问题四:Flink CDC报错?
Flink CDC报错? WARN (org.apache.kafka.clients.consumer.ConsumerConfig:logUnused) - The configuration 'partition.discovery.interval.ms' was supplied but isn't a known config.
参考回答:
这个参数都不对,是不是需要排除下两种对不上
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572308
问题五:Flink CDC这个问题有没有哪位解决过呀,怎么屏蔽掉这个错误,不停止作业呀?
org.apache.flink.table.api.ValidationException: 'scan.incremental.snapshot.chunk.key-column' must be set when the table doesn't have primary keys。Flink CDC这个问题有没有哪位大佬解决过呀,怎么屏蔽掉这个错误,不停止作业呀?
参考回答:
table 的with参数里面设置
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572302