阿里云Flink社区贡献Flink从入门到精通pdf下载|百度网盘下载
编辑评论:
Flink 可以在各种不同的环境中运行。例如,它可以直接通过单个进程和多个线程运行,从而提供调试能力。它还可以运行在Yarn或K8S等资源管理系统上,也可以在各种云环境中执行。
概述
本文主要介绍 Flink Runtime 的作业执行核心机制。首先介绍了 Flink Runtime 的整体架构和 Job 的基本执行过程,然后介绍了 Flink 在这个过程中是如何进行资源管理、作业调度和错误恢复的。最后,本文还将简要介绍 Flink Runtime 层目前的一些工作。
Flink Runtime 整体架构
Flink 的整体架构。 Flink 可以运行在各种不同的环境中。例如,它可以直接通过单个进程和多个线程运行,从而提供调试能力。它还可以运行在Yarn或K8S等资源管理系统上,也可以在各种云环境中执行。
错误恢复
Flink 作业在执行过程中,除了正常的执行过程外,由于环境等原因,可能会出现各种类型的错误。总的来说,错误可以分为两类:Task执行错误或Flink集群的Master错误。由于错误是不可避免的,为了提高可用性,Flink 需要提供自动错误恢复机制来重试。
对于第一类任务执行错误,Flink 提供了多种不同的错误恢复策略。如图8所示,第一种策略是Restart-all,直接重启所有任务。对于 Flink 的流式任务,由于 Flink 提供了 Checkpoint 机制,当任务重启时,可以直接从上一个 Checkpoint 继续执行。因此,这种方法更适合流式作业。第二种错误恢复策略是Restart-individual,仅适用于任务之间没有数据传输的情况。这种情况下,我们可以直接重启故障任务。