角色
Flink 是一个分布式流处理框架,它的架构由多个角色组成,每个角色在系统中都有特定的职责。以下是 Flink 中各主要角色及其作用的详解介绍:
1. Client
- 作用:Client 是用户提交作业的入口。用户通过 Client 将作业提交给集群。
- 职责
- 解析用户提交的作业。
- 将作业的 jar 文件和依赖上传到集群。
- 与
JobManager
通信以提交作业。
2. JobManager
- 作用:JobManager 是 Flink 的核心组件之一,负责调度和管理作业的执行。
- 职责:
- 接受并解析由
Client
提交的作业。 - 创建和启动
JobMaster
实例来管理具体作业的执行。 - 分配资源并将任务分发给
TaskManager
。 - 处理任务的故障恢复和重新启动。
- 管理作业的 checkpoint 和状态恢复。
- 接受并解析由
3. JobMaster
- 作用:每个 Flink 作业都有一个对应的
JobMaster
实例,负责该作业的具体执行和管理。 - 职责