java - Apache Flink 中的默认检查点保存在哪里?

标签 java apache-flink flink-streaming checkpointing

我是 Apache Flink 的新手,我正在查看 Apache Flink 的示例。我发现,在发生故障时,Flink 能够从检查点恢复流处理。

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.enableCheckpointing(10000L);

现在,我的问题是 Flink 默认在哪里保存检查点?

感谢任何帮助!

最佳答案

Flink 具有 StateBackends 的抽象。 StateBackend 负责本地管理工作节点上的状态,还负责将状态检查点(并将状态恢复)到远程位置。

默认的StateBackendMemoryStateBackend。它维护工作线程 (TaskManager) JVM 堆上的状态,并将其检查点到主线程 (JobManager) 的 JVM 堆。因此,MemoryStateBackend 不需要任何额外的配置或外部系统,有利于本地开发。然而,它显然不可扩展,不适合任何严重的工作负载。

Flink 还提供了 FSStateBackend,它也在工作线程的 JVM 堆上保存本地状态,并将其检查点到远程文件系统(HDFS、NFS,...)。最后,还有 RocksDBStateBackend,它将状态存储在基于磁盘的嵌入式键值存储 (RocksDB) 中,并且还设置远程文件系统(HDFS、NFS...)的检查点。

关于java - Apache Flink 中的默认检查点保存在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50317884/

相关文章:

java - 窗口未完成其窗口长度

java - 如何提高 Elasticsearch 中按 id 搜索时的性能

java - Collectors.groupingBy 的自定义收集器无法按预期工作

apache-flink - Apache 弗林克 : multiple task managers in local mode

apache-flink - Apache Flink 示例作业无法以 "Job not found"运行

java - 弗林克 : Declaring dynamic tuple size & type

apache-flink - apache flink 窗口顺序

java - Postgres 触发器更新 Java 缓存

java - 相对于构造函数抛出越界运行时错误

java - 在 Iterable 上查找元素