【发布时间】:2017-07-26 21:45:44
【问题描述】:
我有一个非常简单的 4 节点 Flink 集群设置,其中一个节点是 Jobmanager,其他节点是 Taskmanagers,并由 start-cluster 脚本启动。 所有任务管理器都有相同的配置,关于状态和检查点如下:
state.backend: rocksdb
state.backend.fs.checkpointdir: file:///root/flink-1.3.1/checkpoints/fs
state.backend.rocksdb.checkpointdir: file:///root/flink-1.3.1/checkpoints/rocksdb
# state.checkpoints.dir: file:///root/flink-1.3.1/checkpoints/metadata
# state.checkpoints.num-retained: 2
(后两个选项是故意注释的,因为我尝试取消注释它们并没有改变任何东西。)
在代码中我有:
val streamEnv = StreamExecutionEnvironment.getExecutionEnvironment
streamEnv.enableCheckpointing(10.minutes.toMillis)
streamEnv.getCheckpointConfig.setCheckpointTimeout(1.minute.toMillis)
streamEnv.getCheckpointConfig.setMaxConcurrentCheckpoints(1)
工作40分钟后,在目录中
/root/flink-1.3.1/checkpoints/fs/.../
我看到 4 个名称模式为“chk-”+ 索引的检查点目录,而我预计旧的检查点将被删除,并且只剩下一个检查点。(从文档中,默认情况下只应保留一个检查点)同时,在 Web UI 中,Flink 将前三个检查点标记为“丢弃”。
我是否配置了任何错误或者这是预期的行为?
【问题讨论】:
标签: apache-flink flink-streaming