![](https://i-blog.csdnimg.cn/blog_migrate/af2c0f6621021cb99dd59fff2f9536ba.png)
JobManager 的功能主要有:
● 将 JobGraph 转换成 Execution Graph,最终将 Execution Graph 拿来运
行;
● Scheduler 组件负责 Task 的调度;
● Checkpoint Coordinator 组 件 负 责 协 调 整 个 任 务 的 Checkpoint, 包 括
Checkpoint 的开始和完成;
● 通过 Actor System 与 TaskManager 进行通信;
● 其它的一些功能,例如 Recovery Metadata,用于进行故障恢复时,可以从
Metadata 里面读取数据。
![](https://i-blog.csdnimg.cn/blog_migrate/1e86da58f2c63478e30140c2a0d67cbb.png)
TaskManager 是负责具体任务的执行过程,在 JobManager 申请到资源之后
开始启动。TaskManager 里面的主要组件有:
● Memory & I/O Manager,即内存 I/O 的管理;
● Network Manager,用来对网络方面进行管理;
● Actor system,用来负责网络的通信;
TaskManager 被分成很多个 TaskSlot,每个任务都要运行在一个 TaskSlot
里面,TaskSlot 是调度资源里的最小单位
![](https://i-blog.csdnimg.cn/blog_migrate/daf1931603d9e79b87ee7f2493d4a0e3.png)
● 在 Standalone 模式下,Master 和 TaskManager 可以运行在同一台机器
上,也可以运行在不同的机器上。
● 在 Master 进程中,Standalone ResourceManager 的作用是对资源进行
管理。当用户通过 Flink Cluster Client 将 JobGraph 提交给 Master 时,
JobGraph 先经过 Dispatcher。
● 当 Dispatcher 收 到 客 户 端 的 请 求 之 后, 生 成 一 个 JobManager。 接 着
JobManager 进程向 Standalone ResourceManager 申请资源,最终再启
动 TaskManager。
● TaskManager 启动之后,会有一个注册的过程,注册之后 JobManager 再
将具体的 Task 任务分发给这个 TaskManager 去执行。
以上就是一个 Standalone 任务的运行过程