最近需要用到flink cdc作为数据流处理框架,在demo运行中发现一些问题,特此记录问题和解决过程。
无法读取table
Caused by: java.lang.IllegalArgumentException: Can't find any matched tables, please check your configured database-name: [localdb] and table-name: [flink_cdc_message]
at com.ververica.cdc.connectors.mysql.debezium.DebeziumUtils.discoverCapturedTables(DebeziumUtils.java:167)
at com.ververica.cdc.connectors.mysql.source.MySqlSource.createEnumerator(MySqlSource.java:179)
... 43 more
出现上述异常时,需要检查如下情况:
- 是否已经对用户设置了SELECT, REPLICATION SLAVE, REPLICATION CLIENT这三个权限
- Java streaming设置tableList时需要使用[database].[table]格式,显式指定table名称
guava版本异常
org.apache.flink.util.FlinkException: Global failure triggered by OperatorCoordinator for 'Source: CDCJob -> Sink: Unnamed' (operator cbc357ccb763df2852fee8c4fc7d55f2).
at org.apache.flink.runtime.operators.c

在尝试使用FlinkCDC处理MySQL数据流时,遇到了无法读取表的异常,主要原因是缺少数据库权限和表名指定格式不正确。同时,Guava版本不匹配导致了类加载错误。解决方案包括为用户授予必要权限,按照特定格式指定表名,并更新依赖库至正确版本。
最低0.47元/天 解锁文章
2406

被折叠的 条评论
为什么被折叠?



