实时计算双星-Flink VS Spark 部署模式对比

2023-10-29 02:59

本文主要是介绍实时计算双星-Flink VS Spark 部署模式对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大数据技术与架构

点击右侧关注,大数据开发领域最强公众号!

暴走大数据

点击右侧关注,暴走大数据!

本文主要对Flink和Spark集群的standalone模式及on yarn模式进行分析对比。Flink与Spark的应用调度和执行的核心区别是Flink不同的job在执行时,其task同时运行在同一个进程TaskManager进程中;Spark的不同job的task执行时,会启动不同的executor来调度执行,job之间是隔离的。

Standalone模式

Flink 和Spark均支持standalone模式(不依赖其他集群资源管理和调度)的部署,启动自身的Master/Slave架构的集群管理模式,完成应用的调度与执行。

  • Flink

  • Spark

On-yarn模式

Flink on Yarn 模式,其ApplicationMaster实现对JobManager的封装,作为该job的核心,完成executionGraph的生成,task的分发,运行结果的处理等;而YarnTaskManager则继承至TaskManager,完成task的运行。

Spark on Yarn 模式下,根据driver及业务逻辑运行的进程不同分为yarn-client和yarn-cluster模式。

Flink on Yarn
  • yarn-cluster模式

Yarn-cluster模式下,Flink提交应用至Yarn集群,类似MR job,运行完后结束

  • yarn-session模式

Yarn-session模式下,首先向Yarn提交一个长时运行的空应用,运行起来之后,后分别启动YarnApplicationMasterRunner/ApplicationMaster/JobManager,和N个YarnTaskManager/Container,但此时没有任务运行;
其他Flink客户端可通过制定ApplicationId的方式提交Flink Job到此JobManager,由该JobManager完成应用的解析和调度执行。

Spark on Yarn

Yarn-client和yarn-cluster的主要区别在于driver运行的进程不一样:

在yarn-client模式下,driver及业务代码逻辑运行在yarn client进程中,与applicationMaster及executor交互完成应用的调度和执行。
在Yarn-cluster模式下,应用提交至Yarn集群后,yarn client进程可以退出,driver及业务代码逻辑运行在applicationMaster进程中,与executor完成应用的调度执行。
  • Yarn-client

  • Yarn-cluster

Flink和Spark在On yarn模式下的各进程核心功能对比如下

欢迎点赞+收藏+转发朋友圈素质三连

文章不错?点个【在看】吧! ????

这篇关于实时计算双星-Flink VS Spark 部署模式对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/297818

相关文章

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解