问题一:flink 是13.6版本照着cdc connector的例子写的直接报错了能帮忙解决一下么?
public class Main {
public static void main(String[] args) throws Exception { Properties debeziumProperties = new Properties(); debeziumProperties.put("snapshot.locking.mode", "none");// do not use lock SourceFunction<String> sourceFunction = MySqlSource.<String>builder() .hostname("localhost") .port(3306) .databaseList("flink") // set captured database .tableList("orders") // set captured table .username("**") .password("**") .deserializer(new StringDebeziumDeserializationSchema()) // converts SourceRecord to String .debeziumProperties(debeziumProperties) .build(); StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.addSource(sourceFunction).print().setParallelism(1); env.execute(); }
} flink 是13.6版本,照着cdc connector的例子写的,直接报错了,能帮忙解决一下这个问题吗?
参考答案:
果您在使用 Flink 1.13.6 版本的 CDC Connector 时遇到了错误,可以尝试按照以下步骤进行排查和解决:
- 确认 CDC Connector 的版本:在使用 CDC Connector 时,需要确保使用的 Connector 版本与 Flink 版本兼容。您可以在 Flink 官网的下载页面中查找 CDC Connector 的版本与 Flink 版本的兼容关系。如果版本不兼容,需要升级或降级 CDC Connector 的版本。
- 检查 Connector 配置是否正确:在使用 CDC Connector 时,需要正确配置 Connector 的参数,例如数据库连接信息、表名、起始位置等。您可以检查配置文件中的参数是否正确,并确保与数据库匹配。
- 检查数据库连接是否正常:在使用 CDC Connector 时,需要确保数据库连接正常。您可以尝试手动连接数据库,并执行一些简单的 SQL 语句,检查数据库连接是否正常。
- 检查日志信息:在遇到错误时,可以查看 Flink 的日志信息,从而确定错误的原因。您可以检查 Flink 的日志文件,查找错误信息,并尝试解决问题。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/500251?spm=a2c6h.13066369.question.6.4d426d0c2cCg7i
问题二:Flink CDC全量没问题,增量报错 file is not a valid field name
源端oracle 和目标mysql库都没有 file字段:
Caused by: com.ververica.cdc.connectors.shaded.org.apache.kafka.connect.errors.DataException: file is not a valid field name
Flink 1.16.0
cdc 2.3.0 oracle 11g Mysql 5.7
参考答案:
问题可能是由于在处理增量数据时,Flink CDC连接器从Oracle数据库中读取了不合法的文件字段。文件字段在Oracle数据库中是不存在的,因此引发了一个数据异常。
为了解决这个问题,您可以尝试以下方法:
- 检查O_TB_TEST表结构,确保没有名为"file"的字段。如果有,请删除或修改该字段。
- 如果O_TB_TEST表结构中确实没有名为"file"的字段,请检查Flink CDC连接器的配置。在您的配置中,您使用了debezium.log.mining.strategy = 'online_catalog',debezium.log.mining.continuous.mine = 'true'。这表示连接器将尝试从Oracle数据库的在线目录中读取增量数据。请确保您的配置正确地指定了Oracle数据库的在线目录。
- 如果问题仍然存在,您可以尝试将debezium.log.mining.strategy更改为debezium.log.mining.strategy = 'change_data_capture'。这将要求连接器从Oracle数据库的变更数据捕获中读取增量数据。这种方法可能会减少不合法数据引发的问题。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/491124?spm=a2c6h.13066369.question.7.4d426d0cIKjMrR
问题三:Flink CDC这个报错是不是应错cdc的包了?有知道这个胖包去哪里找吗?我在maven仓库找不到
Flink CDC这个报错是不是应错cdc的包了?有知道这个胖包去哪里找吗?我在maven仓库找不到
参考答案:
加个sql就行flink-sql-xxxxx
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/490536?spm=a2c6h.13066369.question.8.4d426d0cRPtCEy
问题四:flink cdc 读取pgsql 报错这个怎么解决?
flink cdc 读取pgsql 报错这个怎么解决?
参考答案:
换个slot即可,参数可以指定。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/485625?spm=a2c6h.13066369.question.9.4d426d0czOrxGW
问题五:想问下Flink CDC job 报错、重试失败退出之后 重新拉起作业之后有办法回到之前的增量同步点继续同步吗?
想问下Flink CDC job 报错、重试失败退出之后 重新拉起作业之后有办法回到之前的增量同步点继续同步吗?
参考答案:
Flink断点恢复机制 https://zhuanlan.zhihu.com/p/128617249
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/483334?spm=a2c6h.13066369.question.10.4d426d0cK8H9gF