首页 > 其他分享 >《基于Apache Flink的流处理》Part2

《基于Apache Flink的流处理》Part2

时间:2023-03-30 20:23:24浏览次数:39  
标签:ResourceManager 处理 Flink JobManager TaskManager Part2 Apache Dispatcher

Apache Flink 架构

搭建Flink所需组件

Flink 的搭建需要四个不同组件,它们相互协作,共同执行流式应用。这些组件是:JobManager、ResourceManager、TaskManager 和 Dispatcher。Flink 本身是用 Java 和 Scala 实现的,因此所有组件都基于 Java 虚拟机(JVM) 运行。
它们各自的职责如下:

JobManager

作为主进程(master process),JobManager 控制着单个应用程序的执行。换句话说,每个应用都由一个不同的 JobManager 掌控。JobManager 可以接收需要执行的应用,该应用会包含一个所谓的 JobGraph,即逻辑 Dataflow 图,以及一个打包了全部所需类、库以及其他资源的 JAR 文件。JobManager 将 JobGraph 转化成名为 ExecutionGraph 的物理 Dataflow 图,该图包含了那些可以并行执行的任务。

JobManager 从 ResourceManager 申请执行任务的必要资源(TaskManager 处理槽)。一旦它收到了足够数量的 TaskManager 处理槽(slot),就会将 ExecutionGraph 中的任务分发给 TaskManager 来执行。在执行过程中,JobManager 还要负责所有需要集中协调的操作,如创建检查点。

ResourceManager

针对不同的环境和资源提供者(resource provider) (如 YARN、Mesos、Kubernetes 或独立部署),Flink 提供了不同的 ResourceManager。ResourceManager 负责管理 Flink 的处理资源单元-TaskManager 处理槽。当 JobManager 申请 TaskManager 处理槽时,ResourceManager 会指示一个拥有空闲处理槽的 TaskManager 将其处理槽提供给 JobManager。如果 ResourceManager 的处理槽数无法满足 JobManager 的请求,则 ResourceManager 可以和资源提供者通信,让它们提供额外容器来启动更多 TaskManager 进程。同时,ResourceManager 还负责终止空闲的 TaskManager 以释放计算资源。

TaskManager

TaskManager 是 F link 的工作进程 (worker process)。通常在 Flink 搭建过程中要启动多个 TaskManager。每个 TaskManager 提供一定数量的处理槽。处理槽的数目限制了一个 TaskManager 可执行的任务数。TaskManager 在启动后,会向 ResourceManager 注册它的处理槽。当接收到 ResourceManager 的指示时,TaskManager 会向 JobManager 提供一个或多个处理槽。之后, JobManager 就可以向处理槽中分配任务来执行。在执行期间,运行同一应用不同任务的 TaskManager 之间会产生数据交换。

Dispatcher

Dispatcher 会跨多个作业运行,它提供了一个 REST 接口来让我们提交需要执行的应用。一旦某个应用提交执行, Dispatcher 会启动一个 JobManager 并将应用转交给它。REST 接口意味着 Dispatcher 这一集群的 HTTP 入口可以受到防火墙的保护。Dispatcher 同时还会启动一个 Web UI,用来提供有关作业执行的信息。
image

标签:ResourceManager,处理,Flink,JobManager,TaskManager,Part2,Apache,Dispatcher
From: https://www.cnblogs.com/panxianhao/p/17274183.html

相关文章

  • 《基于Apache Flink的流处理》Part1
    流处理基础DataFlow图Dataflow程序描述了数据如何在不同操作之间流动。Dataflow程序通常表示为有向图。图中顶点称为算子,表示计算;而边表示数据依赖关系。算子是Dataflow程序的基本功能单元,它们从输入获取数据,对其进行计算,然后产生数据并发往输出以供后续处理。没有输入端......
  • 让apache用户拥有root权限
    由于php用户默认以apache用户运行,这就可能导致上传图片或者创建文件权限不足的问题,虽然可以chown-Rapache:apache文件夹 永久做法:修改/etc/sudoers文件,快捷命令为v......
  • Apache 转发配置,解决跨域问题
    使用wamp时,项目需求指定的地址需要转发至另一端服务器的请求,同时能够解决跨域的问题Apache安装目录,修改/conf目录下的httpd.conf文件第一步 去掉两行的注释#去掉......
  • Redhat8 Apache 内网安装教程
    一·依赖包以及下载地址本文使用到的离线包:apr-1.7.0.tar.gzapr-util-1.6.1.tar.gzpcre2-10.40.tar.gzexpat-2.1.0-14.el7_9.x86_64.rpmexpat-devel-2.1.0-14.el7_9.......
  • org.apache.http.conn.scheme.SchemeRegistry
    出现此问题的机型:小米8,android系统版本为:9。应用为免费小说下载地址为 安卓免费小说点我下载解决方案见官方文档:https://developer.android.google.cn/about/versions/......
  • Apache Cordova介绍
    ApacheCordova介绍作者:chszsApacheCordova是一套设备API,允许移动应用的开发者使用JavaScript来访问本地设备的功能,比如摄像头、加速计。它可以与UI框架(如jQueryMobile或......
  • flink1.16连接hive2.3.9依赖报错
    Causedby:java.lang.ClassNotFoundException:org.apache.flink.table.gateway.api.endpoint.SqlGatewayEndpointFactory原来的导包依赖是:<groupId>org.apache.flink</gr......
  • 【漏洞复现】Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)
    【漏洞复现】ApacheLog4j2lookupJNDI注入漏洞(CVE-2021-44228)0x01漏洞描述ApacheLog4j2是一个基于Java的日志记录工具,是对Log4j的升级,它比其前身Log4j1.x......
  • 江西省职业技能大赛之路由器、防火墙配置、Apache部署
    网络拓扑图  对FW进行配置,划分Office、DMZ、Inside区域为trust区域,Outside区域为untrust区域,使trust区域之间可以相互访问,untrust区域不能访问trust区域inteth0s......
  • maven install时报错Failed to execute goal org.apache.maven.plugins:maven-surefir
    maveninstall时有两种解决办法:1.maven命令行  mvncleanpackage-Dmaven.test.skip=true 注意下路径就可以,如果是idea,那就更方便,直接在这里输入mvncleanpackage......