使用 postgres cdc读取源postgres表,jdbc cdc 写到目标postgres表,在命令行提交job后,会生成两个job, 一个是读数据源的job,一个是insert到目标表的job,这个insert job 会一直反复进行重试和运行,但是数据是可以同步的,查看异常显示如下:
查看github上QA文档,有一条类似的错误:
但是我是jdbc连接器,应该和这无关吧,请教这种问题有人遇到过吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您描述的情况,您在使用Postgres CDC连接器读取源PostgreSQL表,并通过JDBC CDC连接器将数据写入目标PostgreSQL表时,遇到了插入作业(sink端)持续重试和运行的问题,尽管数据同步实际完成。您提到的异常信息虽然未直接给出,但您提到了一个GitHub上的QA文档中存在类似错误,且该错误与您的JDBC连接器看似关联不大。
结合知识库资料,这里提供一些可能的排查方向和解决建议:
flush.interval.ms
、connection.max-retry-attempts
等,可能需要调整以适应当前环境。检查sink端日志:详细查看sink端(即JDBC CDC连接器)的执行日志,定位具体的错误信息和重试原因。这有助于直接理解重试背后的错误详情。
验证目标表状态:确保目标表没有锁、独占访问或其他并发写入冲突,这些都可能导致写入操作看似未完成。
审查JDBC Sink配置:
sink.parallelism
是否适当,避免过高的并行度导致资源竞争或锁冲突。sink.flush.interval
,增加间隔时间可能减少不必要的重试。connection.max-retry-attempts
是否设置得当。网络稳定性检查:确认网络连接稳定,尤其是如果部署在分布式环境中,网络延迟或丢包可能是问题根源。
目标数据库优化:
版本兼容性:确认使用的Flink版本、JDBC驱动版本以及PostgreSQL版本之间是否存在已知的兼容性问题。
由于您未提供具体的错误信息,上述建议较为通用。针对实际情况,请结合具体错误日志进行细致分析和调整。如果问题依然存在,考虑在相关技术社区或官方支持渠道寻求帮助,提供详细的错误日志和配置信息以便获得更专业的指导。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。
你好,我是AI助理
可以解答问题、推荐解决方案等