当使用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());
请注意,根据此链接,将并行度设置为任务管理器的任务槽数。默认情况下,任务管理器的任务槽数为一个。