开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC断点续传 的例子哪儿能找到,网上找了一些都不好用?

Flink CDC断点续传 的例子哪儿能找到,网上找了一些都不好用?我想在程序中使用flinkcdc savepoint存在本地

展开
收起
真的很搞笑 2023-12-01 08:33:56 63 0
3 条回答
写回答
取消 提交回答
  • 你可以在Flink的官方文档中找到关于Flink CDC断点续传的例子。以下是一个简单的例子:

    首先,你需要在你的Flink程序中添加Flink CDC连接器。然后,你可以使用CheckpointConfig来配置检查点。在CheckpointConfig中,你可以设置检查点的间隔时间,以及保存检查点的位置。

    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    env.enableCheckpointing(60000); // 设置检查点间隔时间为60秒
    
    // 添加Flink CDC连接器
    FlinkCDCSource<String> source = new FlinkCDCSource<>(...); // 这里需要填写你的数据库连接信息
    DataStream<String> stream = env.addSource(source);
    
    // 对数据流进行处理
    DataStream<String> processedStream = stream.map(...); // 这里可以填写你的数据处理逻辑
    
    // 设置检查点的配置
    CheckpointConfig checkpointConfig = env.getCheckpointConfig();
    checkpointConfig.setCheckpointInterval(60000); // 设置检查点间隔时间为60秒
    checkpointConfig.setMinPauseBetweenCheckpoints(10000); // 设置两次检查点之间的最小暂停时间为10秒
    checkpointConfig.setCheckpointTimeout(60000); // 设置检查点超时时间为60秒
    checkpointConfig.setMaxConcurrentCheckpoints(1); // 设置最大并发检查点数为1
    checkpointConfig.enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); // 设置外部化检查点清理策略为保留在取消时
    checkpointConfig.setPreferCheckpointForRecovery(true); // 设置优先恢复检查点
    checkpointConfig.setSavepointRetentionPolicy(SavepointRetentionPolicy.REtainOnCancellation); // 设置保存点保留策略为保留在取消时
    
    // 将处理后的数据流写入到目标系统中
    processedStream.addSink(...); // 这里需要填写你的目标系统连接信息
    
    // 启动Flink程序
    env.execute("Flink CDC Example");
    

    在这个例子中,Flink CDC连接器会定期地从源数据库中抓取数据,并将这些数据保存到Flink的程序中。当Flink程序出现问题时,你可以使用保存的检查点来恢复程序的状态。

    2023-12-02 17:11:58
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC支持使用Savepoint进行断点续传,这允许你从上次执行的中断点恢复作业。以下是一个简单的例子来说明如何创建和使用Savepoint:

    1. 创建Savepoint

      • 在命令行中运行以下命令,将Savepoint保存在本地文件系统的一个目录下:
        ./bin/flink savepoint <job-id> hdfs:///flink/savepoints/
        
    2. 停止作业

      • 通过Flink Web UI或者命令行工具停止你的作业。
    3. 从Savepoint恢复作业

      • 使用以下命令从Savepoint启动一个新的作业实例:
        ./bin/flink run -s hdfs:///flink/savepoints/<savepoint-name> examples/streaming/WordCount.jar
        
    4. 配置作业以自动从Savepoint恢复

      • flink-conf.yaml配置文件中设置以下参数,以便在作业失败时自动从最近的Savepoint恢复:
        jobmanager.execution.failover-strategy: "region"
        execution.checkpointing.interval: 5000
        execution.savepoint-dir: hdfs:///flink/savepoints/
        
    2023-12-01 14:49:30
    赞同 展开评论 打赏
  • flink-cdc最多目前2.x版本,你指的是flink版本.首先不推荐和spring任何框架结合使用,其次需要确定下日志到底有没有走savepoint,此回答整理自钉群“Flink CDC 社区”

    2023-12-01 12:08:09
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载