Flink默认不启用Checkpoint机制。一般在生产环境下,都需要开启Checkpoint机制,此时可以通过如下方式开启,并进行相关配置:
StreamExecutionEnvironment env =
StreamExecutionEnvironment.getExecutionEnvironment();
//每间隔2000ms进行CheckPoint
env.enableCheckpointing(2000);
//设置CheckPoint模式
env.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE);
//CheckPoint超时时间设置为50000ms
env.getCheckpointConfig().setCheckpointTimeout(50000);
//最大并发的CheckPoint数量
env.getCheckpointConfig().setMaxConcurrentCheckpoints(1);
env.getCheckpointConfig().enableUnalignedCheckpoints();
其中的检查点配置项由CheckpointConfig类实现,如下图
StreamExecutionEnviroment上调用enableCheckpointing(n),其中n时以毫秒为单位的checkpoint间隔。