Flink-checkpoint配置及重启策略
Flink-checkpoint配置及重启策略
val env = StreamExecutionEnvironment.getExecutionEnvironment env.setParallelism(1) //--------------- checkpoint配置 ---------------- env.enableCheckpointing(1000L, CheckpointingMode.EXACTLY_ONCE) env.getCheckpointConfig.setCheckpointStorage("hdfs://localhost:9083/flink/checkpoint") env.getCheckpointConfig.setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE) // 执行checkpoint,JobManager向source发送barrier直到checkpoint生成的最大时间间隔 env.getCheckpointConfig.setCheckpointTimeout(60000L) // 最大并行checkpoint,最多允许出现几个checkpoint env.getCheckpointConfig.setMaxConcurrentCheckpoints(2) /** * 两次checkpoint最小间隔时间(尾到头的时间),如果两次CP间隔为1s,第一次cp耗时800ms, * 为保证两次最小间隔为500ms,第二次cp需要向后推移300ms * 配置了最小间隔,会使setMaxConcurrentCheckpoints配置失效 */ env.getCheckpointConfig.setMinPauseBetweenCheckpoints(500) /** * 倾向于从checkpoint中进行恢复,即使savepoint数据比checkpoint更近 * 但是此配置Flink官方已经不推荐使用【https://issues.apache.org/jira/browse/FLINK-20427】 * 因为使用这种方式会造成数据重复sink,在一些较为严谨的使用场景下,会造成数据异常 * 不建议使用 */ //env.getCheckpointConfig.setPreferCheckpointForRecovery(true) /** * 最多容忍几次checkpoint失败 * 如果为0则不容忍任何checkpoint失败,checkpoint失败即任务失败 */ env.getCheckpointConfig.setTolerableCheckpointFailureNumber(5) //--------------- 重启策略 ---------------- /** * RestartStrategies.RestartStrategyConfiguration fixedDelayRestart(restartAttempts: Int, delayBetweenAttempts: Long) * restartAttempts:尝试重启次数 * delayBetweenAttempts:重启间隔 * RestartStrategies.fixedDelayRestart(3, 60000L): restartAttempts为尝试重启次数,delayBetweenAttempts为重启间隔 */ env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, 60000L)) /** * RestartStrategies.FailureRateRestartStrategyConfiguration failureRateRestart(failureRate: Int, failureInterval: Time, delayInterval: Time) * failureRate:失败次数 * failureInterval:失败时间间隔(总的) * delayInterval:两次尝试重启的时间间隔 */ env.setRestartStrategy(RestartStrategies.failureRateRestart(5, Time.minutes(5), Time.seconds(10)))
分类:
Flink
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2017-09-20 sqoop导入增量数据