flink run -t yarn-per-job与flink run -m yarn-cluster两种方式有什么区别?
你好,楼主 这是两种在 YARN 上提交 Flink 任务的方式:
flink run -t yarn-per-job 方式会在 YARN 上启动一个新的 Application Master,并在该 Application Master 上提交 Flink 任务。这种方式的优点是可以避免多个 Flink 任务之间的干扰,每个任务都有一个独立的 Application Master。但是,这种方式的缺点是每次提交任务都需要启动一个新的 Application Master,如果任务数量较多,会占用大量的 YARN 资源。
flink run -m yarn-cluster 方式会在 YARN 上启动一个 Flink 集群,并将 Flink 任务提交到该集群中。这种方式的优点是可以利用 YARN 资源,有效地管理任务资源,并且多个 Flink 任务可以共享一个集群,降低了资源占用。但是,这种方式的缺点是不同任务之间可能会有资源争用的问题,需要根据实际情况进行调整。
选择哪种方式取决于具体情况。如果任务量较大,每个任务都需要一定的资源,可以考虑使用 flink run -t yarn-per-job 方式。如果任务量较小,可以考虑使用 flink run -m yarn-cluster 方式,以节省资源。如果任务之间存在资源争用的问题,可以通过调整资源配置和任务调度策略来解决。
望采纳!
Per-Job 新老版本启动方法 - 老版本(<=1.10)
flink run -m yarn-cluster -c xxx xxx.jar
flink run -t yarn-per-job -c xxx xxx.jar
Per-Job 启动的三个进程 - CliFrontend - YarnJobClusterEntryPoint:AM执行的入口类 - YarnTaskExecutorRunner:Yarn模式下的TaskManager的入口类
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。