本文共 941 字,大约阅读时间需要 3 分钟。
背景介绍
运行任务时,初始阶段一切正常,但经过一两天后会出现Checkpoint超时,导致无法接收最新确认(Latest Acknowledgement)。重新使用相同包重启后,系统能够正常运行几天,但始终无法找出导致问题的根本原因。
以下是相关的设置项:
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setRestartStrategy(RestartStrategies.failureRateRestart(3, Time.milliseconds(1000), Time.minutes(5)));env.disableOperatorChaining();env.enableCheckpointing(1000 * 60 * 15, CheckpointingMode.AT_LEAST_ONCE);env.getCheckpointConfig().setFailOnCheckpointingErrors(true);env.getCheckpointConfig().setCheckpointTimeout(Time.milliseconds(1000 * 60 * 60));env.getCheckpointConfig().setMinPauseBetweenCheckpoints(Time.milliseconds(1000 * 10));
这些设置中,RestartStrategies.failureRateRestart(3, Time.milliseconds(1000), Time.minutes(5))用于设置失败率重启策略,disableOperatorChaining()禁用了操作链,enableCheckpointing启用了检查点,setFailOnCheckpointingErrors设置检查点失败时的错误处理方式,setCheckpointTimeout设置检查点超时时间,setMinPauseBetweenCheckpoints设置检查点之间的最小等待时间。
转载地址:http://bgefk.baihongyu.com/