Flink最佳实践-CheckPoint

Checkpoint功能可以保证作业失败重启或升级重启后,从上次"离开"的位置继续运行;
比如小米的Flink on Talos就是通过Checkpoint记录消费的Offset记录的;如果没有开启Checkpoint,那么每次重启作业可能会重复消费数据或者丢失数据(与配置相关);

下面来介绍:

  • 如何开启flink checkpoint
  • java heapsize如何设置
  • checkpoint最佳设置参数是多少
  • 如何结合flink-rockDB实现高效flink状态编程和稳定的checkpoint






1、开启 Checkpoint

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
CheckpointConfig config = env.getCheckpointConfig();
config.setCheckpointInterval(5 * 60 * 1000); // Checkpoint的触发频率;
config.setMinPauseBetweenCheckpoints(5 * 60 * 1000); // Checkpoint之间的最小间隔;
config.setCheckpointTimeout(10 * 60 * 1000); // Checkpoint的超时时间;
config.setTolerableCheckpointFailureNumber(3); // 连续3次checkpoint失败,才会导致作业失败重启;默认值是0 。
config.enableExternalizedCheckpoints(ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); // Cancel Job之后保留Checkpoint文件;

++

你可能感兴趣的:(Flink)