Apache Flink 任务提交模式

Flink 任务提交模式
  • Flink可以基于多种模式部署:基于Standalone 部署模式,基于Yarn部署模式,基于Kubernetes部署模式
  • 以上不同集群部署模式下提交Flink任务会涉及申请资源,各角色交互过程,不同模式申请资源涉及到的角色大体相同,只是不同Flink集群部署模式支持的任务提交模式不同,对应流程略有不同,有如下三种
    • 会话模式 - Session Mode
    • 单作业模式 - Per-Job Mode(过时)
    • 应用模式 - Application Mode
  • 以上三种任务提交模式主要区别在于Flink集群生命周期不同,资源分配方式不同,以及Flink应用程序的main 方法执行位置(Client客户端/JobManager)不同,
会话模式(Session Mode)
  • Session模式下我们首先会启动一个集群,保持一个会话,这个会话中通过客户端提交作业,集群启动时所有资源都已经确认,所以所有提交任务会竞争集群中的资源。
  • 这种模式适合单个作业规模小,执行时间短的大量作业。

在这里插入图片描述

  • 优势:只需要一个集群,所有作业提交后运行在一个集群,所有任务共享集群资源,每个任务执行完成后就释放资源。
  • 缺点:因为集群资源是共享的,所以资源不够了,提交新的作业就会失败,如果一个作业发生故障导致Taskmanager宕机,那么所有作业都会受到影响。
单作业模式(Per-Job Mode)
  • 为更好隔离资源而生,Per-Job 模式是每提交一个作业启动一个集群,集群只为这个作业而生,这种模式下客户端运行应用程序,然后启动集群,作业被提交给JobManager,然后分发给TaskManager执行,作业执行完之后集群关闭,所有资源释放

在这里插入图片描述

  • 优势:每个作业都有自己的JobManager管理独享当下左右集群资源,就算作业发生故障,对应TaskManager宕机也不影响其他作业,如果一个Application 有多个Job组成,那么每个Job都有自己独立的集群

  • 缺点:每个作业都在客户端享集群JobManager提交,如果一个时间点大量提交Flink作业会造成客户端占有大量网络带宽,会加重客户端所在节点的资源消耗。

  • 注意:Per-Job模式在Flink 1.15中已经弃用,后续版本会剔除,目前只有yarn支持。被Application 模式替代

应用模式(Application Mod)
  • Session 模式 和 Pre-Job模式都是客户端将作业提交给JobManager,这种方式需要占用大量网络带宽下载以来关系,并且将二进制包发送给JobManager。在业务中经常需要提交多个Flink作业并且是在同一个客户端节点提交,这样就更加加剧了客户端所在节点的资源消耗,为了降低客户端这种资源消耗,我们可以使用Application Mode

  • Application 模式与Per-job类似,只是不需要客户端,每个Application提交之后都启动一个JobManager,也就是创建一个集群,这个JobManager只为执行这一个Flink Application而存在,Application中的多个Job都会共用该集群, Application执行结束之后JobManager也就关闭了。这种模式下一个Application会动态创建自己的专属集群(JobManager),所有任务共享该集群,不同Application之间是完全隔离的,在生产环境中建议使用Application模式提交任务。

在这里插入图片描述

  • 以上三种Flink 任务部署方式生产环境优先用Application 模式,三者区别如下:
  1. Session模式现有Flink集群后在提交任务,任务在客户端提交运行,提交的多个作业共享Flink集群
  2. Per-Job 模式和Application模式都是提交Flink任务后创建集群
  3. Per-Job模式通过客户端提交Flink任务,每个Flink任务对应一个Flink集群,每个任务都有很好的资源隔离性
  4. Application模式是在JobManager 上执行main方法,为每一个Flink的Application创建一个Flink集群,如果Application油多个任务,这些Flink任务共享一个集群。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Meta KDD Cup 2024 CRAG: Comphrehensive RAG Benchmark参赛指南(写了一半跑去改大论文了所以没正式参赛)

诸神缄默不语-个人CSDN博文目录 因为比赛过程正好和我毕业答辩的时间段高度重合,所以我……最后其实还是相当于没有成功参赛。 呃反正现在已经咕咕咕了,就把当时写了一半(一小半)的参赛指南发一下吧。 官网:AIcrowd …

揭秘Odoo OWL的魔法:reactive vs useState

想象一下,你正在构建一个复杂的Odoo模块,比如一个实时库存管理系统。突然,你意识到需要在多个组件之间同步数据,还要确保UI能够实时响应后台的变化。这时,OWL框架的响应式系统就像是你的得力助手,而reactive和useState则是其中的两大法宝。让我们一起深入探索这两个强大工…

Java-Lambda

1 Lambda表达式 lambda表达式可以理解为对匿名内部类的一种简化 , 但是本质是有区别的 面向对象思想 : 强调的是用对象去完成某些功能 函数式编程思想 : 强调的是结果 , 而不是怎么去做 1 函数式接口 只有一个抽象方法需要重写的接口,函数式接口。函数式接口是允…

规范:Redis规范

在公司项目中,redis属于高频使用,在使用中,我们遇到了各种各样的redis问题,于是针对自身情况梳理了一个redis使用规范。 一、键名设计 1、key名设计 1. 禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符) 2. 建议以…

2024信息创新与安全技术比赛规程及任务书

2024信息创新与安全技术比赛规程任务书 模块一:信创操作系统应用任务一:系统安装任务二:系统基本操作,以下操作都在Client-1进行。任务三:软件管理 模块二:办公软件技术应用任务一:文档编辑任务…

【栈和队列】算法题 ---- 力扣

通过前面栈和队列的学习,现在来看这些算法题目 一、有效的括号 本题让判断括号是否有效 第一眼看可能没一点思路,但仔细分析一下; 我们学习过栈数据结构,知道栈先进后出的原则,那我们就可以使用啊;把题目的…

MaxSite CMS v180 文件上传漏洞(CVE-2022-25411)

前言 CVE-2022-25411 是一个影响 Maxsite CMS v180 的远程代码执行漏洞。攻击者可以通过上传一个特制的 PHP 文件来利用这个漏洞,从而在受影响的系统上执行任意代码。 漏洞描述 该漏洞存在于 Maxsite CMS v180 的文件上传功能中。漏洞利用主要通过允许上传带有危…

Vue3 完美实现深拷贝

文章目录 一、问题背景二、安装lodash三、Vue3实现完美深拷贝四、非外部库非完美的实现深拷贝 一、问题背景 在复制表单之后,对表单进行修改,发现所有表单的值都同时改变,分析:表单没有进行深拷贝,而是引用的其它表单…

嵌入式人工智能(10-基于树莓派4B的DS1302实时时钟RTC)

1、实时时钟(Real Time Clock) RTC,全称为实时时钟(Real Time Clock),是一种能够提供实时时间信息的电子设备。RTC通常包括一个计时器和一个能够记录日期和时间的电池。它可以独立于主控芯片工作&#xff…

[AT_past202107_c] 入力チェック 题解

题目传送门 \color{orangered}\text{题目传送门} 题目传送门 题意很清楚,我们直接讲做法。 为了更好的进行判断,我们将 s , l , r s,l,r s,l,r 均定义为 string 类型的。 判断: 如果 s s s 的第一位是 0 且 s s s 的长度大于 1 1 1 &a…

Java----简单的洗牌算法

1.创建单张牌 一张牌需要有花色和数字,并且我们需要将一张牌的信息显示出来 public class Card {public String rank;//数字public String suit;//花色public String toString(){//显示花色的方法return String.format("[%s %s]",suit,rank);} }定义一个…

LeetCode 71, 86, 117

文章目录 71. 简化路径题目链接标签思路代码 86. 分隔链表题目链接标签思路分隔链表构建多个链表合并链表 代码 117. 填充每个节点的下一个右侧节点指针 II题目链接标签法一:层序遍历思路代码 法二:链表思路代码 71. 简化路径 题目链接 71. 简化路径 …

写一个简单的兼容GET/POST请求的登录接口

本文目录 安装JDK17安装或者更新Intelij Idea 2024SpringBoot生成项目压缩包下载maven,idea添加maven写POST接口浏览器访问GET接口PostMan安装及访问POST接口 安装JDK17 参考:https://blog.csdn.net/tiehou/article/details/129575138 安装或者更新Int…

类与对象-多态-案例3-电脑组装具体实现

#include<iostream> #include<string> using namespace std; //CPU class CPU { public:virtual void calculate() 0; }; //显卡 class GraCard { public:virtual void graphics() 0; }; //存储 class Memory { public:virtual void memory() 0; }; class Compu…

【CSS】基本用法

一、CSS简介 层叠样式表&#xff08;CSS&#xff09;是一种用来表现HTML或XML文档样式的计算机语言&#xff0c;可以对网页中元素位置进行像素级精确控制。CSS的中文名称为层叠样式表&#xff0c;外文全称为Cascading Style Sheets&#xff0c;是计算机科学领域的一种技术。CS…

大学生跨保计算机--学习规划分享

写在前面 目标 绩点达到前三&#xff0c;修计算机双学位丰富简历&#xff0c;积极参与科研竞赛&#xff0c;提前为保研铺路 暑假 一个月时间&#xff0c;自学Python语言的基础语法&#xff0c;去B站找视频&#xff0c;为以后参加比赛打下一定的基础 开学后可能没有太多时间…

C语言函数:编程世界的魔法钥匙(2)-学习笔记

引言 注&#xff1a;由于这部分内容比较抽象&#xff0c;而小编我又是一个刚刚进入编程世界的计算机小白&#xff0c;所以我的介绍可能会有点让人啼笑皆非。希望大家多多包涵&#xff01;万分感谢&#xff01;待到小编我学有所成&#xff0c;一定会把这块知识点重新介绍一遍&a…

[Day 32] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI中的神經網絡技術 神經網絡&#xff08;Neural Networks&#xff09;是人工智能&#xff08;AI&#xff09;領域的一個重要分支&#xff0c;靈感來自於生物神經系統。本文將深入探討神經網絡的基本概念、結構、工作原理及其在AI中的應用&#xff0c;並通過Python代碼詳細解釋…

HarmonyOS Web组件(二)

1. HarmonyOS Web组件 官方文档 1.1. 混合开发的背景和好处 混合开发&#xff08;Hybrid Development&#xff09;是一种结合原生应用和Web应用的开发模式&#xff0c;旨在同时利用两者的优势。随着移动应用需求的多样化和复杂化&#xff0c;单一的开发方式往往难以满足所有…

sass版本更新,不推荐使用嵌套规则后的声明

目前在 Sass 中不推荐使用嵌套规则后的声明&#xff0c;在 为了通知用户即将进行的更改&#xff0c;并给他们时间进行更改 与之兼容的样式表。在未来的版本中&#xff0c;Dart Sass 将更改为 匹配纯 CSS 嵌套生成的顺序。Deprecation Warning: Sasss behavior for declarations…