文章目录

    • 一.基本概念
      • 1.1 相关组件
      • 1.2 逻辑层次
      • 1.3 两层资源调度
    • 二.机制与战略(Flink1.10)
      • 2.1 TaskManager有哪些资源?
      • 2.2 Slot有哪些资源?
      • 2.3 Ta数据处理办法skManager处理
      • 2.4 Cluster -> Job 资源调度的进程数据处理的基本单位是
      • 2.5数据处理 Job -> Task 资源调度的进程
      • 2.6 资源调优

一.基本概念

1.1 相关组件

一个 Flink Cluster 是由一个 Flin数据处理是什么作业k Master 和多个 Task M数据处理员作业难吗a数据处理的最小单位nager 组成的,Flink Master 和 Task Manager 是进程级组件,其他的组件都是进程内的组件。

Flink ResourceManager资源管理

一个FlinkMaster中有有一个ResourceManager中多个JobManager,Flink Master中每一个JobManager独自处理一个详细的Job,JobManager中的Scheduler组件担任调度实数据处理的常用办法有行该Job的DAG中全部Task,宣布资源央求,即整个资数据处理办法源调度的起点数据处理的常用办法有;JobManager中Slot Poo数据处理的常用办法有l组件持有该 Job 的全部资源。其他,FlinkMaster中仅有的ResourceManager担任整个 Flink Cluster 的资源调度以及与外部调度体系对接,这儿的外部调度体系指的是 Kubernetes、Mesos、Yarn 等资源数据处理办法处理体系。

Task Manager 担任 Task 的实行,其间的 Slot 是 Task Manager 资源的一个子集,也是 Flink数据处理办法 资源处理的基本单位,Slot 的概念贯穿资数据处理是什么作业源调度进程的始终。

1.2 逻数据处理是什么作业辑层次

介绍完相关组件,咱们需求了解一下这些组件之间的逻辑关系,共分如下为4层。

  • Operator 算子是最基本的数据处理员是干什么的据处理单元
  • Ta数据处理sk Flink Runtime 中真实去进行调度的最小单位 由一系列算子链式组合而成(chained operators)(Note:假数据处理员是干什么的设两个 Operator 归于同一个 Task,那么不会出现一个 Operator 现已开端作业另一个 Operator 还没被调度数据处理是什么作业的状况。)
  • Job 对应一个 Job Graph
  • Flink Cluster 1 Flink Maste数据处理的常用办法有r + N Task Managers

Flink ResourceManager资源管理

刚刚介绍的与资源调度相关的组件中,JobManager、Secheduler和SlotP数据处理的基本单位是ool对应于Jo数据处理员是干什么的b等级,ResourceManager、SlotManager和TaskManager对应于FlinkCluster等级。

在 Operator 和 Task 中心的 Chaining 是指怎样用 Op数据处理的基本单位是erator 组成 Task 。在 Task 和 Job 之间的 Slot Sharing 是指多个 Task 怎样同享一个 S数据处理员是干什么的lot 资源,这种状况不会发生在跨作业的状况中。在 Flink Cluster 和 Job 之间的 Slot Allocation 是指 Flink Cluster 中的 Slot 是怎样分配给不同的 Job 。

1.3 两层资源调度

Flink的资源调度是一个经典的两层模型,其间从Cluster数据处理是什么作业到Job的分配进程是由SlotManager来完毕,Job内部分配给Task资源进程数据处理的意图是什么则是由Schedu数据处理的常用办法有ler来完毕,Scheduler向SlotPool宣布SlotRequest(资源央求),Sl数据处理的意图是什么ot Pool 假定不能满意该资源需求则会进一步央求 Resource Manag数据处理的意图是什么er数据处理办法,详细来满意数据处理软件该央求的组件是 Slot Mana数据处理的常用办法有ger。数据处理的意图是什么

Flink ResourceManager资源管理

二.机制与战略(Flink1.10)

2.1 TaskManager有哪些资源?

Flink ResourceManager资源管理

资源类型

  • 内存
  • CPU
  • 其他拓宽资源GPU

TM资源由装备选择

  • Standalone数据处理是什么作业 安顿办法下,TM 资源或许不同
  • 其他安顿办法下,全部 TM 资源均相同

2.2 Slot有哪些资源?

Flink ResourceManager资源管理

  • TM有固定数量的 Slot 资源
  • Slot 数量由装备选择
  • Slot 资源由 TM 资源及 Slot 数量选择
  • 同一 TM 上的 Slot 之间无差别

Slot计算处理

Flink ResourceManager资源管理

2.3 TaskM数据处理的基本单位是anager处理

Standalone安顿办法

在 Standalone 安顿办法下,Task Manag数据处理员是干什么的er 的数量是固定的,假定是 start-cluster.sh 脚数据处理的意图是什么原本主张集群,能够经过修正以下文件中的装备来选择 TM 的数量;也能够通数据处理的意图是什么过手动实行 taskma数据处理nager.sh 脚数据处理员是干什么的原本主张一个 TM 。

<FLINK_DIR>/conf/slaves

ActiveResourceMa数据处理的常用办法有nager安顿办法

  • Kubernetes,Yarn,Mesos
  • Slot 数量按需分配,根据 Slot Re数据处理的常用办法有quest 央求数数据处理的最小单位量主张 TaskManager
  • TaskManager 闲暇一段时间后,超时开释
  • On-Yarn 安顿办法数据处理员是干什么的不再支撑固定数量的 TaskManager, 不再支撑指定固定数量的 TM ,即以下指令参数现已失效。
yarn-session.sh -n <num>
flink run -yn <num>

2.4 Clust数据处理er数据处理软件 -> Job 资源调度的进程

Flink ResourceManager资源管理

赤色箭头

Scheduler 向 Slot Pool 发数据处理的基本单位是送央求,假定 Slot 资源满意则直接分配,假定 Slot 资源不可,则由 Slot Pool 再向 Slot Manager发送央求(此刻即为 Job 向 Cluster 央求资源),假定 Slot Manager 判别集群傍边有满意的资数据处理是什么作业源能够满意需求,数据处理是什么作业那么就会向 Task Manager 发送 Assign 指令,Task Man数据处理的最小单位ager 就会供应 Slot 给 Slot Pool,Slot Pool 再去数据处理的常用办法有满意 Scheduler 的资源央求。

蓝色箭头

在 Active Resour数据处理员是干什么的ce Manager 资源安顿办法下,当 Resource Manager 断定 Flink Cluster 中没有满意的资源去满意需求时,它会进一步去底层的资源调度体系央求资源,由调度体系把数据处理的常用办法有新的 Task Manager 主张起来,并且 TaskManager 向 Resource Manager 注册,则完毕了新 Slot 的弥补。

2.5 Jo数据处理员是干什么的b -> Task 资源调数据处理的常用办法有度的数据处理员是干什么的进程

Scheduler

  • 根据 Execu数据处理的最小单位tion Graph 和 Task 的实行状况,选择接下来要调度的 T数据处理员作业难吗ask

  • 主张 SlotRequest

    • Task + Slot -> Allocate TaskSlot
  • 选择 Task / Slot 之间的分配

Slot Sharing

  • Slot Sharing Group 中数据处理员作业难吗的任务可共用Slot
  • 数据处理的常用办法有许全部节点数据处理是什么作业在一个 Slot Sharing Group 中
  • 一个 Slot 中相同任务只能有一个

利益

  • 作业一个作业所需的 Slot 数量为最大并发数
  • 相对数据处理办法负载均衡

Flink ResourceManager资源管理

Slot Shar数据处理的常用办法有ing 进程(每一行分别是一个 task 的多个并发,自下而上分别是 A、B、C),A、B、C 的并行度分别是4、4、3,这些 Task 归于同一个 Slot Sharing Group 中,所以不同的 Task 能够放在相同的 Slot 中作业,如图7右侧所示,有3个 Slot 放入了数据处理的基本单位是 ABC,而第四个 Slot 放入了 AB 。经过以进步数据处理的最小单位程咱们能够很简略推算出这个 Job 需求的 Slot 数是4,也是最大并数据处理英语发数。

2.6 资源调优

经过以上介绍的机制,咱们简略发现,Flink 所选用的是自顶向下的资源处理,咱们所装备的数据处理的常用办法有是 Job 全体的资源,而 Flink 经过 Slot Sharing 机制操控 Slot 的数量和负载均衡,经过调整 Task Manager / Slot 的资源,以习气一个 Slot Sharin数据处理员是干什么的g Group 的资源需数据处理英语求。Flink 的资数据处理的最小单位源处理装备简略,易用性强,合适拓扑结构简略或规划较小的作业。

参考

cloud.tencent数据处理的最小单位.com/developer/n…