更新时间:2023-03-17 GMT+08:00

Flink与其他组件的关系

Flink与YARN的关系

Flink支持基于YARN管理的集群模式,在该模式下,Flink作为YARN上的一个应用,提交到YARN上执行。

Flink基于YARN的集群部署如图1所示。

图1 Flink基于YARN的集群部署
  1. Flink YARN Client首先会检验是否有足够的资源来启动YARN集群,如果资源足够的话,会将jar包、配置文件等上传到HDFS。
  2. Flink YARN Client首先与YARN Resource Manager进行通信,申请启动Application Master(以下简称AM)的Container,并启动AM。等所有的YARN的Node Manager将HDFS上的jar包、配置文件下载后,则表示AM启动成功。
  3. AM在启动的过程中会和YARN的RM进行交互,向RM申请需要的Task Manager Container,申请到Task Manager Container后,启动TaskManager进程。
  4. 在Flink YARN的集群中,AM与Flink JobManager在同一个Container中。AM会将JobManager的RPC地址通过HDFS共享的方式通知各个TaskManager,TaskManager启动成功后,会向JobManager注册。
  5. 等所有TaskManager都向JobManager注册成功后,Flink基于YARN的集群启动成功,Flink YARN Client就可以提交Flink Job到Flink JobManager,并进行后续的映射、调度和计算处理。