- Client:用户通过 SQL 或者 API 的方式进行任务的提交,提交后会生成一个 JobGraph。
- JobManager:JobManager 接受到用户的请求之后,会对任务进行调度,并且申请资源启动 TaskManager。
- TaskManager:它负责一个具体 Task 的执行。TaskManager 向 JobManager 进行注册,当 TaskManager 接收到 JobManager 分配的任务之后,开始执行具体的任务。
Flink job
用户通过 DataStream API、DataSet API、SQL 和 Table API 编写 Flink 任务,它会生成一个JobGraph。JobGraph 是由 source、map()、keyBy()/window()/apply() 和 Sink 等算子组成的。当 JobGraph 提交给 Flink 集群后,能够以 Local、Standalone、Yarn 和 Kubernetes 四种模式运行。