Flink运行时架构核心概念

Flink运行时架构

  1. JobManager:协调,决定何时调度下一个task,对失败任务做恢复。

    • ResourceManager: 负责Flink集群中的资源提供、回收、分配,它负责管理task slot。standalone模式下,不能自行启动新的taskmanager
    • Dispatcher
      • 提供一个REST接口,用来提交Flink应用程序执行
      • 为每个提交的作业启动一个新的jobMaster
        -运行Flink Web UI
    • JobMaster: 负责管理单个JobGraph的执行,我们的代码Flink并不能直接执行,需要翻译为JobGraph才能执行。
  2. TaskManger: 必须有一个

    • taskManaer和taskManager之间有数据交流

在这里插入图片描述

核心概念

  1. 并行度
    • 并发:多个任务,资源只有一份,需要竞争执行

    • 并行:多个任务,资源有多份,可以同时执行

    • 并行度:一个作业并行执行的程序(数量)

    • 设置并行度

      • 1.代码中设置全局并行度 :env.setParallelism(1);
      • 2.在idea中执行,,如果没有明确设置并行,默认为CPU核数
      • 3.在代码中设置算子并行度,map().setParallelism()
      • 4.不建议在代码中设置并行度,一般在提交作业到集群时指定并行度 bin/flink -p 并行度
      • 5.提交作业到集群,如果没有设置和代码中都没有设置,使用集群配置的并行度,一般为1
    • 优先级:算子并行 > 全局并行度 > shell命令 > 配置文件

  2. 算子链
    • 上下游算子数据分发规则(数据分区规则):ChannelSelector
      • RebalancePartitioner: 轮循方式,上下游并行度不一致时,默认是rebalance
      • RescalePartitioiiner: 相对负载均衡,按照轮循的方式将数据发送到下游组内Task的每个并行度中
      • ShufflePartitioner: 洗牌,按照随机的方式发送到下游Task的每个并行度中
      • BroadcastPartioner: 广播,根据下游并行度个数,每个发一份
      • GlobalPartitioner: 全局,所有的数据之后发送到下游task的第一个并行度中,强制并行度为1
      • KeyGroupStreamPartioner: keyBy的效果,按照key的hash值决定发往下游的哪个并行度中
      • ForwardPartitioner: 直连,上下游并行度一致。上游的并行度对应下游的并行度进行发送,如果上下游并行度一致,默认就是forward
    • 算子链: 将上下游的多个Task合并成一个大的Task,形成的链条就是算子链
    • 合并算子链:
      • 1.上下游并行度必须一样
      • 2.数据的分发规则是forward
    • 合并算子链的作用:减少线程间的切换,缓冲的开销,并且减少延迟的同时增加整体吞吐量
    • 能不能不合并?能
      • 1.全局禁用算子链合并 env.disableOperatorChaining()
      • 2.针对算子设置,startNewChain(): 开启新的算子链,从当前算子开始,与后面的进行合并disableNewChain():前面和后面不参与算子链合并

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/216001.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux DataEase数据可视化分析工具本地部署与远程访问

文章目录 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 前言 DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务…

新书推荐——《Copilot和ChatGPT编程体验:挑战24个正则表达式难题》

《Copilot和ChatGPT编程体验:挑战24个正则表达式难题》呈现了两方竞争的格局。一方是专业程序员David Q. Mertz,是网络上最受欢迎的正则表达式教程的作者。另一方则是强大的AI编程工具OpenAI ChatGPT和GitHub Copilot。 比赛规则如下:David编…

Spring Security6 快速实战

Spring Security 介绍 官网:https://spring.io/projects/spring-security Spring Security 定义 Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。Spring Security 主要实现了认证和授权,SpringSe…

多波束EM2040D甲板单元更换CPU主板记录

前段时间多波束EM2040D甲板单元的CPU主板到货了。趁着船刚好靠港避风,我们带着这块主板去替换之前借来EM2040C的CPU主板。 1、CF卡替换问题 老主板有个CF卡,见下图。最好的解决方法就是将老CF卡替换新CPU主板上的新CF卡,因为这样改动最小。…

单目相机测距(3米范围内)二维码实现方案(python代码 仅仅依赖opencv)

总体思路:先通过opencv 识别二维码的的四个像素角位置,然后把二维码的物理位置设置为 cv::Point3f(-HALF_LENGTH, -HALF_LENGTH, 0), //tl cv::Point3f(HALF_LENGTH, -HALF_LENGTH, 0), //tr cv::Point3f(HALF_LENGTH, HALF_LENGTH, 0), //br cv::P…

SAAS版专业级条码标签打印软件解决方案

一。新一代互联网打印模式 saas云标签打印软件支持条码、二维码、表格等模式组合打印,支持批量打印标签、表格模拟数据 、在线预览二维码打印 、在线条码生成打印标签 ● 条码/二维码/标签打印,支持表格批量打印标签; ● 条码/二维码尺寸…

呼叫系统的客服的计费模式有哪些?

大家都已经了解呼叫总的区分为两种呼入和呼出。呼入就是建立客服呼叫中心,呼出就是电销回访外呼中心。那么相应的计费模式也是有不同的。下面看看以下几种收费模式 : 一、按月收费模式 也叫固定客服模式,是根据上月结算的费用,企业…

C++11--右值引用

目录 基本概念 左值和右值 左值引用和右值引用 右值引用使用场景和意义 左值引用使用场景 左值引用的短板 右值引用和移动语义 右值引用引用左值 右值引用的其他使用场景 完美转发 万能引用 完美转发保持值得属性 完美转发使用得场景 基本概念 左值和右值 什么…

二维码智慧门牌管理系统升级:轻松解决重新制牌问题

文章目录 前言一、更便捷的申请方式二、系统优势 前言 随着科技的快速发展,智能化管理已经成为我们日常生活的一部分。最近,为了满足人们对门牌类型更换、门牌丢失等需要重新制牌的需求,二维码智慧门牌管理系统升级了解决方案,为…

网络安全卫士:上海迅软DSE的员工上网管理策略大揭秘!

在日常办公中,企业员工可能会在互联网上有意或无意的将一些包含内部重要信息的内容发布出去,从而造成不必要的违规及泄密风险,因此对终端用户进行规范的上网行为管理,既能有效预防重要数据泄密,同时也能提高员工办公效…

高等职业学校新媒体营销实训室解决方案

背景 随着数字化时代的来临,新媒体营销成为企业推广和品牌建设的关键手段。为了培养高职学生在新媒体领域的实际操作能力,建立一套全面、系统的实训室方案至关重要。 目标 搭建高职新媒体营销实训室,旨在培养学生的实际操作能力&#xff0…

【记忆】变上限积分的可导性

只要写出来默认连续。fx连续或者可去间断点,Fx可导,跳跃间断点,Fx不可导但连续。 图片摘自没咋了23李林解析课程

.Net core 6.0 升8.0

1 Update Visual Studio 2 3 用Nutget 更新不同套件版本 更新后结果如下:

CoSeR: Bridging Image and Language for Cognitive Super-Resolution

主页:CoSeR: Bridging Image and Language for Cognitive Super-Resolution (coser-main.github.io) 图像超分辨率技术旨在将低分辨率图像转换为高分辨率图像,从而提高图像的清晰度和细节真实性。这项技术在手机拍照等领域有着广泛的应用和需求。随着超…

Linux下安装JDK

1. 软件安装 1.1 软件安装方式 在Redhat/CentOS系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 安装方式特点二进制发布包安装【常用】软件已经针对具体平台编译打包发布,只要解压就能使用,修改配置即…

物品领用管理软件哪家的好用?怎么让办公用品管理变得更加轻松高效?

对于公司而言,办公用品与固定资产同样重要,虽然大多数办公用品都属于低值易耗品,但它们却是日常工作中不可或缺的一部分。由于种类繁多,制定适当的制度对于物品领用管理来说显得十分必要,同时还需要根据实际的需求不断…

使用 PHPMailer 实现邮件的实时发送

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 今天我们利用GitHub上20K星星的项目 PHPMailer…

Python 类:探索面向对象编程的奇妙世界

在 Python 中,类是一种强大的工具,可以让你更有组织地编写代码,实现真正的面向对象编程。 本篇文章将详细介绍 Python 类的知识点和使用方法,通过通俗易懂的解释和使用案例,帮助大家轻松理解并掌握类的奥秘。 1、类和…

Mac电脑如何安装git

一、简介 在Mac上安装Git之前,可以先使用git --version来查看一下是否安装了Git,因为Mac系统可能自带了Git,或者在你安装XCode(或者XCode的命令行工具)时,可能已经安装了 Git。 如果Mac还没有安装Git的话&…

论文解读:EfficientViT-提高吞吐量

摘要 要解决的问题 Vision transformers have shown great success due to their high model capabilities. However, their remarkable performance is accompanied by heavy computation costs, which makes them unsuitable for real-time applications. vit计算开销大&a…