flink部署模式介绍

在一些应用场景中,对于集群资源分配和占用的方式,可能会有特定的需求。Flink 为各种场景提供了不同的部署模式,主要有以下三种,它们的区别主要在于:

  • 集群的生命周期以及资源的分配方式;
  • 应用的 main 方法到底在哪里执行------客户端(Client)还是 JobManager。

1、三种模式

1.1 会话模式(Session Mode)

会话模式其实最符合常规思维。我们需要先启动一个集群,保持一个会话,在这个会话中通过客户端提交作业,如图所示。集群启动时所有资源就都已经确定,所以所有提交的作业会竞争集群中的资源。

优点:

  • 我们只需要一个集群,所有的作业提交之后都塞进去;
  • 作业结束了就释放资源,集群依然正常运行。

缺点

  • 因为资源是共享的,所以资源不够了,提交新的作业就会失败。
  • 另外,同一个 TaskManager 上可能运行了很多作业,如果其中一个发生故障导致 TaskManager 宕机,那么所有作业都会受到影响。

1.2 单作业模式(Per-Job Mode)

会话模式因为资源共享会导致很多问题,所以为了更好地隔离资源,我们可以考虑为每个提交的作业启动一个集群,这就是所谓的单作业(Per-Job)模式,如图所示:

  • 单作业模式 就是严格的一对一,集群只为这个作业而生。
  • 同样由客户端运行应用程序,然后启动集群:

作业被提交给 JobManager,进而分发给 TaskManager 执行。作业完成后,集群就会关闭,所有资源也会释放。这样一来,每个作业都有它自己的 JobManager管理,占用独享的资源,即使发生故障,它的 TaskManager 宕机也不会影响其他作业。

  • 这些特性使得单作业模式在生产环境运行更加稳定,所以是实际应用的首选模式。

需要注意的是,Flink 本身无法直接这样运行,所以单作业模式一般需要借助一些资源管理框架来启动集群,比如YARN、Kubernetes。

1.3 应用模式(Application Mode)

前面两种模式下,应用代码都是在客户端上执行,然后由客户端提交给 JobManager的。

这种方式客户端需要占用大量网络带宽,去下载依赖和把二进制数据发送给JobManager;加上很多情况下我们提交作业用的是同一个客户端,就会加重客户端所在节点的资源消耗。

所以解决办法就是,我们不要客户端了,直接把应用提交到 JobManger 上运行。而这也就代表着,我们需要为每一个提交的应用单独启动一个 JobManager,也就是创建一个集群。

这个 JobManager 只为执行这一个应用而存在,执行结束之后 JobManager 也就关闭了,这就是所谓的应用模式,如下图所示。

  • 应用模式与单作业模式,都是提交作业之后才创建集群;
    单作业模式是通过客户端来提交的,客户端解析出的每一个作业对应一个集群;
    而应用模式下,是直接由 JobManager 执行应用程序的,并且即使应用包含了多个作业,也只创建一个集群。

2、总结

总结:

  • 会话模式下,集群的生命周期独立于集群上运行的任何作业的生命周期,并且提交的所有作业共享资源。
  • 单作业模式为每个提交的作业创建一个集群,带来了更好的资源隔离,这时集群的生命周期与作业的生命周期绑定。
  • 应用模式为每个应用程序创建一个会话集群,在 JobManager 上直接调用应用程序的 main()方法。

我们所讲到的部署模式,相对是比较抽象的概念。实际应用时,一般需要和资源管理平台结合起来,选择特定的模式来分配资源、部署应用。接下来,我们就针对不同的资源提供者(Resource Provider)的场景,具体介绍 Flink 的部署方式。

相关推荐
做萤石二次开发的哈哈12 分钟前
视频汇集平台模板上线萤石蓝海AIoT一站式工作台:多品牌摄像机+NVR统一接入,GB/T28181国标级联实现工程施工多方视频调度(附部署教程)
大数据·人工智能·物联网·音视频·萤石开放平台·蓝海aiot一站式工作台·aiot开发
starzy199013 分钟前
Flink高级之Pattern API代码实现:序列语义、循环约束与匹配策略
大数据·flink
雨辰AI16 分钟前
信创多租户项目 9 大踩坑|数据隔离失效、权限越权终极解决(金仓 / 达梦 / 高斯全库适配)
java·大数据·数据库·后端
码流子22 分钟前
2026 图像数据标注工具横评:LabelImg / CVAT / Label Studio / X-AnyLabeling / 国产Web平台,到底怎么选?
大数据·人工智能·算法
塔望品牌咨询34 分钟前
食品品牌战略预算的决策框架:如何根据经营瓶颈安排研究、产品、渠道与传播
大数据·人工智能·塔望消费战略·食品
QYRdata1 小时前
基于ANPR数据分析平台市场增长预测(2026-2032年复合增长率4.3%)
大数据·人工智能
JJJennie7771 小时前
大模型网关支持流式输出吗?MAI Gateway如何赋能企业AI能力
大数据·ai网关
Raas1001 小时前
AI网关核心功能?MAI Gateway(魔芋企业级AI网关)如何赋能企业AI能力
大数据·人工智能·gateway·mai gateway·企业级产品
世岩清上1 小时前
一次性完工的数字展厅,如何预留后期内容更新空间?
大数据·网络·人工智能·音视频·展厅改造
Jlzn88881 小时前
钢带折弯±0.1°怎么来?伺服闭环补偿回弹拆解
大数据·嵌入式硬件·制造