Flink设置并行度的方式和执行级别顺序

Flink设置并行度的几种方式

1.代码中设置setParallelism()

  全局设置:

env.setParallelism(3); 

  算子设置(部分设置):

sum(1).setParallelism(3)

2.客户端CLI设置(或webui直接输入数量):

./bin/flink run -p 3

 3.配置文件设置:

  修改配置文件设置/conf/flink-conf.yaml的parallelism.defaul数值

 4.最大并行度设置

  全局设置:

env.setMaxParallelism(n) 

   算子设置(部分设置):

sum(1).setMaxParallelism(n)

默认的最大并行度是近似于operatorParallelism + (operatorParallelism / 2),下限是127,上线是32768. 

 

总结:Flink并行度配置级别 算子>全局env>客户端CLI>配置文件 。

注意:

  • setParallelism()设置的并行度需要小于.setMaxParallelism()设置的最大并行度。
  • 某些算子无法设置并行度,如socketTextStream
  • 本地模式并行度默认为cpu核数
  • 并行度改变会影响任务划分,进而影响task数量,如果taskslots数量不满足要求,会导致任务没有足够的资源分配。

 

posted @ 2020-03-18 11:01  曲水修竹  阅读(3486)  评论(0编辑  收藏  举报