大佬们,Flink CDC这个报错是为什么呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的报错信息和知识库资料,以下是可能导致Flink CDC报错的原因及解决方案:
Encountered change event for table xxx.xxx whose schema isn't known to this connectormysqlbinlog工具查看问题事件,定位具体位置:
mysqlbinlog -start-position=30946 -stop-position=31028 -verbose mysql-bin.004419
The connector is trying to read binlog starting at GTIDs ..., but this is no longer available on the serverSET GLOBAL binlog_expire_logs_seconds = 604800; -- 保留7天
Can't find any matched tables, please check your configured database-name: xxx and table-name: xxxxdatabase-name和table-name是否与实际数据库一致。GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'host';
FLUSH PRIVILEGES;
The primary key is necessary when enable 'Key: 'scan.incremental.snapshot.enabled'scan.incremental.snapshot.enabled=true),但未设置主键(Primary Key)。CREATE TABLE source_table (
id INT PRIMARY KEY,
name STRING,
...
) WITH (
'connector' = 'mysql-cdc',
'scan.incremental.snapshot.enabled' = 'true',
...
);
Mysql8.0 Public Key Retrieval is not allowedmysql_native_password:
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
DELETE command denied to user 'userName'@'\.\.\.\' for table 'table_name'WHERE条件过滤时,UPDATE类型的数据会生成update_before和update_after两条消息。update_before消息会被下游识别为DELETE操作,因此需要用户具有DELETE权限。retract相关操作。DELETE权限:
GRANT DELETE ON database_name.table_name TO 'username'@'host';
FLUSH PRIVILEGES;
table.exec.source.cdc-events-duplicate=true。以上是针对Flink CDC常见报错的详细分析和解决方案。如果您的报错信息不在上述范围内,请提供具体的错误日志,我们将进一步为您排查问题。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。