崩溃时 Flink 任务管理器中的状态发生了什么?
What happen to state in Flink Task Manager when crash?
我可以知道当这个任务管理器崩溃时存储在 Flink 任务管理器中的状态发生了什么。假设状态存储是 rocksdb,这些数据是否会传输到其他 运行 任务管理器,以便完整的状态数据准备好进行数据处理?
Flink(还)不支持状态的动态重新缩放,因此必须恢复失败的任务管理器,作业将从检查点重新启动。
具体涉及的内容取决于您的集群的配置方式,以及作业是否因异常或 machine/container 运行 任务管理器失败而失败。
如果您使用的是 RocksDB 并且启用了本地恢复,那么如果作业因为异常而终止,任务管理器都将能够或多或少地立即从其本地状态副本重新启动作业.另一方面,如果必须启动一个新的任务管理器,那么一旦它是 运行 它将从最新的检查点(从使用的任何分布式文件系统)获取它需要的东西,然后作业将恢复.
如果没有本地恢复,每个任务管理器都必须从 DFS 中获取检查点的相关部分。
在某些情况下,可以做一些比完全恢复更便宜的事情。有关详细信息,请参阅 fine-grained recovery。
我可以知道当这个任务管理器崩溃时存储在 Flink 任务管理器中的状态发生了什么。假设状态存储是 rocksdb,这些数据是否会传输到其他 运行 任务管理器,以便完整的状态数据准备好进行数据处理?
Flink(还)不支持状态的动态重新缩放,因此必须恢复失败的任务管理器,作业将从检查点重新启动。
具体涉及的内容取决于您的集群的配置方式,以及作业是否因异常或 machine/container 运行 任务管理器失败而失败。
如果您使用的是 RocksDB 并且启用了本地恢复,那么如果作业因为异常而终止,任务管理器都将能够或多或少地立即从其本地状态副本重新启动作业.另一方面,如果必须启动一个新的任务管理器,那么一旦它是 运行 它将从最新的检查点(从使用的任何分布式文件系统)获取它需要的东西,然后作业将恢复.
如果没有本地恢复,每个任务管理器都必须从 DFS 中获取检查点的相关部分。
在某些情况下,可以做一些比完全恢复更便宜的事情。有关详细信息,请参阅 fine-grained recovery。