Flink设置并行度的几种方式
代码中设置
setParallelism()
全局设置:
env.setParallelism(3);
算子设置(部分设置):
sum(1).setParallelism(3)
客户端CLI设置(或webui直接输入数量):
./bin/flink run -p 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数量不满足要求,会导致任务没有足够的资源分配。