提交作业时如何设置flink taskmanager内存

how to set flink taskmanager memory when submit a job

如果我向 flink 提交一个作业,并且我知道这个任务需要的最大内存。

所以如果我想设置taskMangaer的内存(可能是Flink默认设置的内存对我来说太大了)

如何调整作业中的任务管理器内存?还是只有修改源码才能达到目的?

没有 API 从 Flink 作业中配置任务管理器。

配置任务管理器内存是作为启动任务管理器的一部分完成的。在会话集群的情况下,这是独立于提交作业完成的。但在作业或应用程序集群的情况下,配置任务管理器以满足该特定作业(或一组作业)的要求是有意义的。

这通常在集群配置中完成(在 conf/flink-conf.yaml 中),但您也可以通过 JVM 参数配置任务管理器内存。最简单的方法是设置 taskmanager.memory.flink.size(Flink 本身的内存)或 taskmanager.memory.process.size(Flink JVM 进程的内存)。

文档中有一部分专门介绍内存配置,而且介绍得更详细。 https://nightlies.apache.org/flink/flink-docs-stable/docs/deployment/memory/mem_setup/ 是本节的入口点。

虽然没有 API 用于配置任务管理器,但可以为作业指定其要求。参见 https://nightlies.apache.org/flink/flink-docs-stable/docs/deployment/finegrained_resource/