96SEO 2026-02-19 21:58 8
Flink分布式计算框架可以基于多种模式部署每种部署模式下提交任务都有相应的资源管理方式例如Flink可以基于Standalone部署模式、基于Yarn部署模式、基于Kubernetes部署模式运行任务以上不同的集群部署模式下提交Flink任务会涉及申请资源、各角色交互过程不同模式申请资源涉及到的角色对象大体相同下面我们以Flink运行时架构流程为例来总体了解下Flink任务提交后涉及到对象交互流程以便后续学习不同任务提交模式下任务提交流程。

上图是Flink运行时架构流程涉及集群启动、任务提交、资源申请分配整个流程大体步骤如下
启动Flink集群首先会启动JobManagerStandalone集群模式下同时启动TaskManager该模式资源也就固定其他集群部署模式会根据提交任务来动态启动TaskManager当在客户端提交任务后客户端会将任务转换成JobGraph提交给JobManagerJobManager首先启动Dispatcher用于分发作业运行Flink
WebUI提供作业执行信息Dispatcher启动后会启动JobMaster并将JobGraph提交给JobMasterJobMaster会将JobGraph转换成可执行的ExecutionGraph。
JobMaster向对应的资源管理器ResourceManager为当前任务申请Slot资源在Standalone资源管理器中会直接找到启动的TaskManager来申请Slot资源如果资源不足那么任务执行失败其他资源管理器会启动新的TaskManager新启动的TaskManager会向ResourceManager进行注册资源然后ResourceManager再向TaskManager申请Slot资源如果资源不足会启动新的TaskManager来满足资源TaskManager为对应的JobMaster
Slot资源JobMaster将要执行的task发送到对应的TaskManager上执行TaskManager之间可以进行数据交换。
以上就是Flink任务提交的整体流程信息在Flink中任务提交还有多种模式不同的Flink集群部署模式支持的任务提交模式不同对应的任务执行流程略有不同向Flink集群中提交任务有三种任务部署模式分别如下
以上三种任务提交模式的主要区别在于Flink集群的生命周期不同、资源的分配方式不同以及Flink
应用程序的main方法执行位置Client客户端/JobManager不同。
Session模式下我们首先会启动一个集群保持一个会话这个会话中通过客户端提交作业集群启动时所有的资源都已经确定所以所有的提交的作业会竞争集群中的资源。
这种模式适合单个作业规模小、执行时间短的大量作业。
优势只需要一个集群所有作业提交之后都运行在这一个集群中所有任务共享集群资源每个任务执行完成后就释放资源。
缺点因为集群资源是共享的所以资源不够了提交新的作业就会失败如果一个作业发生故障导致TaskManager宕机那么所有的作业都会受到影响。
为了更好的隔离资源Per-job模式是每提交一个作业会启动一个集群集群只为这个作业而生这种模式下客户端运行应用程序然后启动集群作业被提交给JobManager进而分发给TaskManager执行作业执行完成之后集群就会关闭所有资源也会释放。
优势这种模式下每个作业都有自己的JobManager管理独享当下这个集群的资源就算作业发生故障对应的TaskManager宕机也不影响其他作业。
如果一个Application有多个job组成那么每个job都有自己独立的集群。
缺点每个作业都在客户端向集群JobManager提交如果一个时间点大量提交Flink作业会造成客户端占用大量的网络带宽会加重客户端所在节点的资源消耗。
模式目前只有yarn支持Per-job模式在Flink1.15中已经被弃用后续版本可能会完全剔除替代的是Application模式主要原因就是Application模式把main方法的初始化放到了集群组件的JobManager中这样对于客户端来说从性能上有很大优化。
模式和Pre-Job模式都是在客户端将作业提交给JobManager这种方式需要占用大量的网络带宽下载依赖关系并将二进制包发送给JobManager,此外我们往往提交多个Flink
作业都是在同一个客户端节点这样更加剧了客户端所在节点的资源消耗为了降低客户端这种资源消耗我们可以使用Application
Application模式与Per-job类似只是不需要客户端每个Application提交之后就会启动一个JobManager也就是创建一个集群这个JobManager只为执行这一个Flink
Application而存在Application中的多个job都会共用该集群Application执行结束之后JobManager也就关闭了。
这种模式下一个Application会动态创建自己的专属集群JobManager,所有任务共享该集群,不同Application之间是完全隔离的在生产环境中建议使用Application模式提交任务。
以上三种Flink任务部署方式生产环境中优先选择Application模式三者区别总结如下
模式是先有Flink集群后再提交任务任务在客户端提交运行提交的多个作业共享Flink集群Per-Job模式和Application模式都是提交Flink任务后创建集群Per-Job模式通过客户端提交Flink任务每个Flink任务对应一个Flink集群每个任务有很好的资源隔离性Application模式是在JobManager上执行main方法为每个Flink的Application创建一个Flink集群如果该Application有多个任务这些Flink任务共享一个集群。
Flink不同的集群部署模式支持不同的任务提交方式后续会重点介绍Standalone资源管理和Yarn资源管理任务提交模式的支持。
博客主页https://lansonli.blog.csdn.net欢迎点赞
CSDN博客停下休息的时候不要忘了别人还在奔跑希望大家抓紧时间学习全力奔赴更美好的生活✨
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback