前言
Flink CDC 常用两种方式进行数据的全量+增量一体的数据同步,数据清洗等功能。主要使用方法:
- 使用 DataStream API 进行任务的逻辑实现
- 使用 Flink SQL 的方式进行任务的提交
一、常见问题
1.No suitable driver found for jdbc:oracle:thin:@10.101.37.167:8888/orclpdb
解决方案:
#修改配置文件
vim conf/flink-conf.yaml
classloader.resolve-order: parent-first
采用此方式,如有缺少其他依赖报错,应将依赖包放到flink/lib下,且注意配置flink环境变量
2.The db history topic or its content is fully or partially missing. Please check database history topic configuration and re-execute the snapshot
解决方案:
在oracle12c中,由于采用cdb+pdb的模式,故配置的DB为cdb+pdb,例如
现将DB均改为PDB名称即可
3.com.ververica.cdc.connectors.shaded.org.apache.kafka.connect.errors.DataException: file is not a valid field name
解决方案:
把database-name, schema-name, table-name全部改在大写
4.断点续传
解决方案:
利用checkpoint和savepoint即可实现断点续传,无需自己处理
5.oracle number 字段抽取乱码
解决方案:
序列化时增加如下配置
5.org.apache.kafka.connect.data.SchemaBuilder cannot be cast to com.ververica.cdc.connectors.shaded.org.apache.kafka.connect.data.SchemaBuilder
解决方案:
oracle同步日期字段时,需要自定义OracleDateConverter,当采用flink-sql-connector-oracle-cdc jar包时报错,采用flink-connector-oracle-cdc不报错,后查看flink-sql-connector-oracle-cdc pom源码,官网做了jar迁移
采用迁移后的包中的SchemaBuilder类引用即可
文章来源:https://www.toymoban.com/news/detail-841563.html
参考资料
flink-cdc-connectors官方文档:https://ververica.github.io/flink-cdc-connectors/release-2.4/
debezium官方文档:https://debezium.io/documentation/reference/1.9/index.html文章来源地址https://www.toymoban.com/news/detail-841563.html
结尾
- 感谢大家的耐心阅读,如有建议请私信或评论留言。
- 如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新,与大家共同进步
到了这里,关于flinkcdc踩坑指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!