Flink 部署模式详解

ops/2025/1/24 10:59:37/

Flink 部署模式详解

一、会话模式(Session Mode)

定义:

  • 在会话模式中,首先启动一个长期运行的Flink集群,并保持一个会话,在这个会话中可以通过客户端提交多个作业。集群启动时资源已经确定,所有提交的作业将共享这些资源。

特点:

  • 独立生命周期: 集群的生命周期独立于作业,即集群会一直运行,直到手动停止。
  • 资源共享: 所有提交的作业会竞争集群中的资源,可能会导致资源不足作业执行失败的情况。
  • 动态资源分配: Flink会根据运行在JobManager上的作业所需要的Slot数量动态分配TaskManager资源。
  • 适合场景: 适用于规模小、执行时间短的大量作业,尤其是在开发和测试环境中,允许快速提交和测试多个作业,而不需要为每个作业单独启动集群。

应用场景:

  • 会话模式非常适合用于开发和测试环境,因为它支持快速迭代和多作业的灵活提交。
二、单作业模式(Per-Job Mode)

定义:

  • 单作业模式下,为每一个提交的作业启动一个专门的Flink集群,当作业完成后,集群随之关闭并释放资源。

特点:

  • 紧密关联的生命周期: 集群的生命周期与作业紧密相关,即作业提交时创建集群,作业完成时销毁集群。
  • 资源隔离: 每个作业都有自己独立的集群和资源,不会出现资源共享的问题,提高了稳定性和安全性。
  • 高稳定性: 因为每个作业都有独立的集群和资源,所以在生产环境中运行更加稳定。
  • 资源管理框架: 一般需要借助一些资源管理框架如YARN、Kubernetes等来启动集群。
    应用场景:
  • 单作业模式特别适用于生产环境,特别是对于那些对资源隔离和稳定性有较高要求的任务。
三、应用模式(Application Mode)

定义:

  • 应用模式为每个提交的应用程序启动一个独立的JobManager,即创建一个专属于该应用程序的集群。这个JobManager只为执行这一个应用而存在,应用执行结束后,JobManager也就关闭了。

特点:

  • 应用程序为中心的生命周期: 集群的生命周期与应用程序紧密相关,即应用程序提交时创建集群,应用程序执行结束后销毁集群。
  • 简化管理: 应用模式无需客户端的存在,作业直接由JobManager执行,简化了作业管理和资源分配。
  • 适用多作业应用: 特别适用于包含多个作业的应用程序,可以简化复杂的作业协调和依赖关系。
  • 资源管理框架: 类似于单作业模式,应用模式也需要借助资源管理框架来启动集群。
    应用场景:
  • 应用模式适用于部署复杂的应用程序,这些应用程序可能包括多个作业,并且需要简化作业管理和资源分配的过程。

总结

  • 会话模式:适合于开发和测试环境,可以快速提交和测试多个作业,但需要注意资源共享的问题。
  • 单作业模式:适用于生产环境,特别是当作业之间需要较高的资源隔离和稳定性时。
  • 应用模式:适用于部署包含多个作业的应用程序,可以简化作业的管理和资源的分配。

http://www.ppmy.cn/ops/152721.html

相关文章

HarmonyOS基于ArkTS卡片服务

卡片服务 前言 Form Kit(卡片开发框架)提供了一种在桌面、锁屏等系统入口嵌入显示应用信息的开发框架和API,可以将应用内用户关注的重要信息或常用操作抽取到服务卡片(以下简称“卡片”)上,通过将卡片添加…

C++通过输入3D相机像素点集{u、v、z}和机械手世界坐标点集{X、Y、Z}求得变换矩阵RT(眼在手外)

👑主页:吾名招财 👓简介:工科学硕,研究方向机器视觉,爱好较广泛… ​💫签名:面朝大海,春暖花开! C++通过输入3D相机像素点集{u、v、z}和机械手世界坐标点集{X、Y、Z}求得变换矩阵RT(眼在手外) 引言原理简介点集数据(含像素坐标、世界坐标及求解后的变换矩阵)配…

简洁实用的wordpress外贸模板

简洁、实用、大气的wordpress外贸模板,适合跨境电商搭建外贸B2B产品展示型网站。 简洁实用的wordpress外贸模板 - 简站WordPress主题简洁、实用、大气的wordpress外贸模板,适合跨境电商搭建外贸B2B产品展示型网站。https://www.jianzhanpress.com/?p828…

基于java线程池和EasyExcel实现异步导出

基于java线程池和EasyExcel实现异步导出 1.controller层 GetMapping("export") public void exportExcel(HttpServletResponse response) throws IOException, InterruptedException {exportService.exportExcel(response); }2. service public void exportExcel(H…

58.界面参数传递给Command C#例子 WPF例子

界面参数的传递,界面参数是如何从前台传送到后台的。 param 参数是从界面传递到命令的。这个过程通常涉及以下几个步骤: 数据绑定:界面元素(如按钮)的 Command 属性绑定到视图模型中的 RelayCommand 实例。同时&#x…

问题修复记录:Linux docker 部署 dify,无法调用宿主机本地服务

使用docker compose启动Dify后,在其中配置本地xinfrence中的模型,报错: get xinference model extra parameter failed, url: http://127.0.0.1:9997/v1/models/bge-m3, error: HTTPConnectionPool(host=‘127.0.0.1’, port=9997): Max retries exceeded with url: /v1/mo…

jeecg后端登录接口

jeecg后端登录接口 /sys/loginLoginController.java

八股学习 微服务篇

微服务篇 常见面试内容Spring Cloud 常见组件注册中心Ribbon负载均衡策略服务雪崩 常见面试内容 Spring Cloud 常见组件 Spring Cloud有5个常见组件: Eureka/Nacos:注册中心;Ribbon:负载均衡;Feign:远程调用;Hystrix/Sentinel:服…