3 个回答
第三种方式是在命令行提交作业时指定参数,例如:
flink run \
-Dexecution.checkpointing.interval=5min \
-Dexecution.checkpointing.timeout=10min \
-c com.example.MainJob \
/path/to/job.jar
发布于:4周前 (05-16) IP属地:
第二种方式在flink-conf.yaml文件中配置,示例如下:
# 检查点触发间隔(默认禁用)
execution.checkpointing.interval: 5min
# 检查点超时时间
execution.checkpointing.timeout: 10min
# 最小暂停时间
execution.checkpointing.min-pause: 2min
# 最大并发检查点数(默认1)
execution.checkpointing.max-concurrent-checkpoints: 2
发布于:4周前 (05-16) IP属地:
第一种方式:在代码中配置,例如:
import org.apache.flink.api.common.time.Time;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
// 设置检查点间隔为5分钟
env.enableCheckpointing(5 * 60 * 1000); // 单位:毫秒
// 或使用更清晰的Duration API(Flink 1.12+)
env.enableCheckpointing(Duration.ofMinutes(5));
// 设置检查点超时时间为10分钟
env.getCheckpointConfig().setCheckpointTimeout(10 * 60 * 1000); // 单位:毫秒
// 设置两次检查点之间的最小暂停时间(避免重叠)
env.getCheckpointConfig().setMinPauseBetweenCheckpoints(2 * 60 * 1000); // 2分钟
发布于:4周前 (05-16) IP属地:
我来回答
您需要 登录 后回答此问题!