You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flink Application Cluster与Job Cluster的区别及YARN部署模式疑问

1. 如何判断当前运行的集群模式?

结合提交命令和Jar包内作业情况就能明确:

  • 若使用 flink run-application -t yarn-application 提交Jar包:
    这是Flink Application Cluster模式。Jar包的main方法会在YARN的ApplicationMaster(AM)中执行,不管Jar里包含1个还是多个作业,所有作业都运行在同一个YARN应用(对应你看到的独立YARN应用ID)里,集群生命周期和整个应用绑定,应用不停止,集群就持续运行。
  • 若使用 flink run -t yarn-cluster 提交Jar包:
    这是Flink Job Cluster模式。Jar包的main方法在本地客户端执行,生成单个JobGraph后提交到YARN,每个作业对应一个独立的YARN应用,集群生命周期和这个单个作业绑定,作业结束集群就终止。

额外判断点:如果Jar包启动了多个作业,但这些作业共享同一个YARN应用ID,那必然是Application Cluster模式;若每个作业对应不同YARN应用ID,则是Job Cluster模式。

2. 区分两种集群模式的意义?

核心差异体现在资源、运维、效率等维度:

  • 资源利用率:
    Application Cluster模式下,多个作业可共享集群的TaskManager、内存等资源,适合一个应用包含多个关联作业的场景,能减少资源重复占用;Job Cluster模式是单个作业独占集群资源,隔离性更好,但作业数量多易造成资源碎片化。
  • 运维复杂度:
    Application Cluster模式只需维护一个YARN应用,运维成本更低;Job Cluster模式每个作业对应一个YARN应用,作业多的话要管理大量应用ID,运维成本更高。
  • 启动效率:
    Application Cluster模式仅需启动一次集群,后续作业可直接在集群内提交,启动开销小;Job Cluster模式每个作业都要重新启动集群,启动耗时更长、开销更大。
  • 配置灵活性:
    Job Cluster模式可针对单个作业调整资源配置(比如不同作业用不同数量的TaskManager),灵活性更高;Application Cluster模式下所有作业共享同一套资源配置,调整空间更受限。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:57:17