Flink 1.3在YARN上运行单个作业如何设置每个TaskManager的任务槽数

时间:2018-05-04 14:01:01

标签: apache-flink

我在Yarn上运行了一个flink作业,描述为here

flink run -m yarn-cluster -yn 3 -ytm 12000

我可以使用上面的参数-yn设置纱线节点/任务管理器的数量。但是,我想知道是否可以设置每个任务管理器的任务槽数。当我使用parallelsim(-p)参数时,它只设置整体并行度。并且通过将该值除以提供的任务管理器的数量来计算任务槽的数量。我尝试使用动态属性(-yD)参数,该参数应该“允许用户指定其他配置值”,如下所示:

 -yD -Dtaskmanager.numberOfTaskSlots=8

但这并不会覆盖flink-conf.yaml中给出的值。 有没有办法在flink上运行单个时指定每个TaskManager的任务槽数(除了更改配置文件)? 还有一个使用-yD参数的动态属性有效的文档吗?

1 个答案:

答案 0 :(得分:1)

您可以使用前缀为y的yarn-session,here设置在YARN群集上提交Flink作业。例如命令,

flink run -m yarn-cluster -yn 5 -yjm 768 -ytm 1400 -ys 2 -yqu streamQ my_program.jar

将为 jobmanager my_program.jar内存提交5 Flink应用程序与768m 容器1400m内存和 taskmanagers 2 cpu核心,每个都将使用预定义的YARN队列streamQ上的nodemanagers资源。有关其他重要信息,请参阅我对this帖子的回答。