【问题标题】:Apache Flink not deleting old checkpointsApache Flink 不删除旧的检查点
【发布时间】: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


    【解决方案1】:

    删除由作业管理器完成,它可能无法访问您的文件(在 /root 中)

    【讨论】:

    • 谢谢,这就是原因。文档中的任何地方都没有明确指出这种行为
    • 如果作业管理器无法访问 root。它可以访问什么?谢谢
    • 哦nvm,需要使用HDFS或者NFS。
    猜你喜欢
    • 2020-09-16
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 2021-01-27
    相关资源
    最近更新 更多