Flink CDC确实支持断点续传。以下是使用Flink CDC实现断点续传的基本步骤:
要启用Flink CDC的断点续传功能,首先需要启用检查点。可以通过调用env.enableCheckpointing(interval)
方法来启用检查点,其中interval
参数表示检查点间隔时间。
为了确保数据的正确性,需要将检查点模式设置为EXACTLY_ONCE
。可以通过调用env.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE)
方法来实现这一目标。
为了能够在任务失败或停止时从最后一个检查点恢复数据,需要设置任务关闭时保留最后一次检查点数据。可以通过调用env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION)
方法来实现这一目标。
为了确保任务能够从上次成功完成的检查点自动恢复,需要设置从检查点自动重启策略。可以通过调用env.getCheckpointConfig().enableAutomatic checkpoints()
方法来实现这一目标。
最后,可以使用StreamExecutionEnvironment.executeJob(name, inputDStream)
方法来启动Flink CDC任务,其中name
参数表示任务名称,inputDStream
参数表示Flink CDC的输入数据流。
支持。
给当前的 Flink 程序创建 Savepoint:
bin/flink savepoint JobId hdfs://hadoop102:8020/flink/save
关闭程序以后从 Savepoint 重启程序:
bin/flink run -s hdfs://hadoop102:8020/flink/save/... -c 全类名 flink-1.0-SNAPSHOT-jar-with-dependencies.jar
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。