源库 MySQL 异常或者 Flink 任务本身异常后如何恢复?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
1.若遇到源库 MySQL 异常,Flink Task 发现无法连接数据库异常退出,重新启动 Flink Task (或者 retry),因为没有做 checkpoint,那么会重新再做一次全表扫描,这些全量数据最后发送到目的 MySQL,由于下游 MySQL 实现了写幂等,因此最终保持一致性。
2.若遇到 Flink 任务异常,重新启动(或者 retry),同上面情况一样,最终也能保持一致性。
3.若遇到目标库 MySQL 异常,同上一致,Flink Task 无法往目标数据库写入异常退出,在需要 重新启动或 retry 后,重新全表扫描,全量数据最后发送到目的 MySQL,由于目的下游 MySQL 实现了写幂等,最终保持一致性。
资料来源:《Flink CDC:新一代数据集成框架》,下载链接:https://developer.aliyun.com/topic/download?id=8256。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。
评论
全部评论 (0)