Flink CDC里这是什么问题?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Flink CDC中遇到问题时,通常需要结合具体的错误信息、使用场景和配置来分析原因并提供解决方案。以下是针对常见问题的详细解析与解决方法:
RDS MySQL 5.6备库或只读实例:
全量阶段读取时间过长导致OOM:
Checkpoint间隔时间设置过大:
binlog probably contains events generated with statement or mixed based replication format
Mixed
,而Flink CDC要求Binlog格式为ROW
。SHOW VARIABLES LIKE "binlog_format";
ROW
:
SET GLOBAL binlog_format=ROW;
Replication slot "xxxx" is active
SELECT pg_drop_replication_slot('rep_slot');
'debezium.slot.drop.on.stop' = 'true'
table-name
正则表达式时,包含逗号的表达式无法正确解析。'table-name' = '(t_process_wi_history_\d{1}|t_process_wi_history_\d{2})'
timestamp
字段时区与预期不符,相差8小时。server-time-zone
参数未与MySQL服务器时区一致。serverTimeZone
参数。例如:
.deserializer(new JsonDebeziumDeserializationSchema())
.option("server-time-zone", "Asia/Shanghai")
flink-sql-connector-mysql-cdc-2.2-SNAPSHOT.jar
。xxx-SNAPSHOT
版本对应开发分支代码,未发布到Maven中央仓库。flink-sql-connector-mysql-cdc-2.1.0.jar
,可直接从Maven中央仓库获取。通过Kafka解耦:
合并CTAS作业:
Encountered change event for table xxx.xxx whose schema isn't known to this connector
'debezium.snapshot.mode'='never'
,可通过以下参数避免报错:
'debezium.inconsistent.schema.handling.mode' = 'warn'
The connector is trying to read binlog starting at GTIDs ..., but this is no longer available on the server
SET GLOBAL expire_logs_days=7;
以上是对Flink CDC常见问题的详细解析与解决方案。如果您的问题未涵盖在上述内容中,请提供更多具体信息以便进一步分析。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。