有没有一种方法可以动态设置flink内存



当使用Apache Flink时,我们可以在Flink-conf.yaml中配置值。但在这里,当在Flink中启动或提交作业或任务时,使用CLI命令,我们可以动态分配一些值。

eg:- bin/taskmanager.sh start-foreground -Dtaskmanager.numberOfSlots=12

但是一些值,如jobmanager.memory.prrocess.size和taskmanager.memory.process.size,无法使用"-D";。

在使用CLI启动jobmanager和taskmanager时,是否有方法动态设置这些值

这可能会对您有所帮助:

ParameterTool parameters = ParameterTool.fromPropertiesFile("src/main/resources/application.properties"); // one can specify the properties defined in conf/flink-conf.yaml in this properties file
Configuration config = Configuration.fromMap(parameters.toMap());
TaskExecutorResourceUtils.adjustForLocalExecution(config);
StreamExecutionEnvironment env =
StreamExecutionEnvironment.getExecutionEnvironment(config);
env.setParallelism(3);
System.out.println("Config Params : " + config.toMap());

请注意,根据此链接,将并行度设置为任务管理器的任务槽数。默认情况下,任务管理器的任务槽数为一个。

相关内容

  • 没有找到相关文章

最新更新