Flink 执行流程
- Flink任务提交后,Client向HDFS上传Flink的Jar包和配置
- 向Yarn ResourceManager提交任务,ResourceManager分配Container资源
- 通知对应的NodeManager启动ApplicationMaster,ApplicationMaster启动后加载Flink的Jar包和配置构建环境,创建Dispatcher和ResourceManager
- Client向Dispatcher提交job
- Dispatcher为job启动一个JobManager
- JobManager向ResourceManager申请slot
- ResourceManager向资源调度平台(Yarn)申请资源启动TaskManager
- 资源调度平台分配资源(Yarn Container)后,由ApplicationMaster通知资源所在节点的NodeManager启动TaskManager
- NodeManager加载Flink的Jar包和配置构建环境并启动TaskManager,启动后直接向JobManager注册自己
- JobManager资源足够后运行job后,向taskManager的slot中deploy 任务
注:资源调度平台(Yarn)只提供资源,之后由flink自己调度分配的资源