Flink on Yarn: 3 种作业提交方式详解

本文将详细介绍 Flink 在 Yarn 上的三种作业提交方式:Per-Job Mode、Session Mode 和 Application Mode,并分析它们的区别和优缺点,帮助你选择最适合你的作业提交方式。

1. Per-Job Mode

在 Per-Job Mode 中,每个 Flink 作业都会创建一个新的 YARN 应用程序实例。当作业执行完毕后,YARN 应用程序实例也会被终止。在这种模式下,每个作业都可以独立地配置资源。

优点:

  • 每个作业独立运行,互不干扰。
  • 可以根据每个作业的需求灵活配置资源。

缺点:

  • 每个作业都需要启动和关闭 YARN 应用程序实例,会增加资源消耗和启动时间。

2. Session Mode

在 Session Mode 中,Flink 集群会在 YARN 上启动一个长时间运行的 YARN 应用程序实例,该实例会一直运行直到被手动终止。在这种模式下,多个 Flink 作业可以共享同一个 YARN 应用程序实例,因此可以节省启动和关闭 YARN 应用程序实例所需的时间。

优点:

  • 减少 YARN 应用程序实例的启动和关闭时间。
  • 多个作业共享资源,可以提高资源利用率。

缺点:

  • 所有作业共享同一个 Flink 集群实例,可能会导致资源竞争和性能问题。
  • 无法独立配置每个作业的资源。

3. Application Mode

在 Application Mode 中,Flink 集群会在 YARN 上启动一个长时间运行的 YARN 应用程序实例,该实例会一直运行直到被手动终止。与 Session Mode 不同的是,每个作业都会创建一个新的 Flink 集群实例,而不是共享同一个 Flink 集群实例。在这种模式下,每个作业都可以独立地配置资源。

优点:

  • 每个作业拥有独立的 Flink 集群实例,可以避免资源竞争和性能问题。
  • 可以根据每个作业的需求灵活配置资源。

缺点:

  • 启动时间比 Session Mode 更长。
  • 资源消耗比 Session Mode 更高。

总结

选择哪种作业提交方式取决于你的具体需求。如果你需要每个作业独立运行,并且可以接受较长的启动时间,那么可以选择 Per-Job Mode。如果你需要多个作业共享资源,并且可以接受资源竞争的风险,那么可以选择 Session Mode。如果你需要每个作业独立运行,并且可以接受较高的资源消耗,那么可以选择 Application Mode。

Flink on Yarn: 3 种作业提交方式详解

原文地址: https://www.cveoy.top/t/topic/nJBv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录