李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
07.Flink运行时组件
Leefs
2021-12-28 PM
1268℃
0条
[TOC] ### 前言 本篇将介绍Flink的四大组件,先在开头做一个简单的概要总结: + **JobManager**:分配任务,调度checkpoint做快照 + **TaskManager**:执行任务 + **ResourceManager**:资源管理器,分配资源,管理资源 + **Dispacher**:方便提交任务的接口,WebUI ### 一、概述 Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作: + 作业管理器(JobManager) + 资源管理器(ResourceManager) + 任务管理器(TaskManager) + 分发器(Dispatcher) 因为 Flink 是用 Java 和 Scala 实现的,所以所有组件都会运行在 Java 虚拟机上。 ![07.Flink运行时组件01.png](https://lilinchao.com/usr/uploads/2021/12/3204166317.png) ### 二、各个组件职责 + **作业管理器(JobManager)** 控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager所控制执行。 JobManager会先接收到要执行的应用程序,这个应用程序会包括: 作业图(JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、库和其它资源的 JAR 包。 JobManager会把 JobGraph 转换成一个物理层面的数据流图,这个图被叫做 “执行图”(ExecutionGraph),包含了所有可以并发执行的任务。 JobManager会向资源管理器(ResourceManager)请求执行任务必要的资源,也就是任务管理器(TaskManager)上的插槽(slot)。 一旦它获取到了足够的资源,就会将执行图分发到真正运行它们的TaskManager上。而在运行过程中,JobManager会负责所有需要中央协调的操作,比如说检查点(checkpoints)的协调。 + **资源管理器(ResourceManager)** 主要负责管理任务管理器(TaskManager)的插槽(slot),TaskManger插槽是Flink中定义的处理资源单元。 Flink为不同的环境和资源管理工具提供了不同资源管理器,比如 YARN、Mesos、K8s,以及 standalone部署。 当JobManager申请插槽资源时,ResourceManager会将有空闲插槽的TaskManager分配给 JobManager。 如果ResourceManager没有足够的插槽来满足JobManager的请求,它还可以向资源提供平台发起会话,以提供启动TaskManager进程的容器。 另外,ResourceManager还负责终止空闲的TaskManager,释放计算资源。 + **任务管理器(TaskManager)** Flink中的工作进程。通常在Flink中会有多个TaskManager运行,每一个TaskManager都包含了一定数量的插槽(slots)。 插槽的数量限制了 TaskManager 能够执行的任务数量。 启动之后,TaskManager会向资源管理器注册它的插槽;收到资源管理器的指令后, TaskManager就会将一个或者多个插槽提供给JobManager调用。JobManager就可以向插槽 分配任务(tasks)来执行了。 在执行过程中,一个TaskManager可以跟其它运行同一应用程序的TaskManager交换数据。 + **分发器(Dispatcher)** 可以跨作业运行,它为应用提交提供了 REST 接口。 当一个应用被提交执行时,分发器就会启动并将应用移交给一个 JobManager。 由于是REST接口,所以Dispatcher可以作为集群的一个HTTP接入点,这样就能够不受防火墙阻挡。 Dispatcher也会启动一个Web UI,用来方便地展示和监控作业执行的信息。 Dispatcher在架构中可能并不是必需的,这取决于应用提交运行的方式。 *附:* *本文来自《尚硅谷大数据之flink教程》*
标签:
Flink
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/1802.html
上一篇
【转载】Elastic Stack之Data Stream的概念
下一篇
08.Flink任务提交流程
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
链表
HDFS
Map
nginx
二叉树
Flume
Linux
Zookeeper
国产数据库改造
随笔
Hbase
Shiro
Spark Streaming
哈希表
序列化和反序列化
设计模式
Elastisearch
机器学习
Tomcat
Redis
正则表达式
Typora
JavaSE
MySQL
DataX
Java编程思想
SQL练习题
BurpSuite
字符串
Ubuntu
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭