Flink流数据采集笔记(二):运行架构综述

本文详细介绍了Flink的运行架构,包括JobManager、ResourceManager、Dispatcher、JobMaster和TaskManager的角色与职责。此外,还阐述了Flink的核心概念,如TaskManager的slots、并行度、Task与SubTask的关系以及任务链Operator Chains。最后,概述了yarn-cluster模式下Flink任务的提交流程。
摘要由CSDN通过智能技术生成

目录

一 运行架构

(一) JobManager

 (二) ResourceManager

 (三)Dispatcher

(四)JobMaster

(五)TaskManager

二 核心概念

(一)  TaskManager与Slots

(二)  Parallelism(并行度)

 (三)  Task与SubTask

(四)  任务链Operator Chains

三 yarn-cluster提交流程 per-job


一 运行架构

(一) JobManager

        Flink运行时最少需要一个JobManager和至少1个TaskManager.

        其中,JobManager控制一个应用程序执行的主进程.

        首先,JobManager接收要执行的应用程序(作业图/类/库/JAR包等),将作业图转为物理层面的数据流图(执行图),执行图包括了所有的并发可执行任务,之后JobManager会向资源管理器(ResourceManager)请求执行任务必要的资源,也就是任务管理器(TaskManager)上的插槽(slot)。一旦它获取到了足够的资源,就会将执行图分发到真正运行它们的TaskManager上。

        同时,在运行过程中,JobManager会负责所有需要中央协调的操作,比如说检查点(checkpoints)的协调。

        也就是说,JobManager主要作用:

                1 接收客户端任务

                2 划分具体执行任务

                3 申请资源

 (二) ResourceManager

        负责资源的管理,在整个 Flink 集群中只有一个 ResourceManager. 注意这个ResourceManager不是Yarn中的ResourceManager, 是Flink中内置的, 只是赶巧重名了而已.

        主要负责管理任务管理器(TaskManager)的插槽(slot)

        当JobManager申请插槽资源时,ResourceManager会将有空闲插槽的TaskManager分配给JobManager。如果ResourceManager没有足够的插槽来满足JobManager的请求,它还可以向资源提供平台发起会话,以提供启动TaskManager进程的容器。另外,ResourceManager还负责终止空闲的TaskManager,释放计算资源。

 (三)Dispatcher

        负责接收用户提供的作业,并且负责为这个新提交的作业启动一个新的JobM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值