1.代碼中設置setParallelism()
全局設置:
env.setParallelism(3);
算子設置(部分設置):
sum(1).setParallelism(3)
2.客戶端CLI設置(或webui直接輸入數量):
./bin/flink run -p 3
3.配置文件設置:
修改配置文件設置/conf/flink-conf.yaml的parallelism.defaul數值
全局設置:
env.setMaxParallelism(n)
算子設置(部分設置):
sum(1).setMaxParallelism(n)
默認的最大並行度是近似於operatorParallelism + (operatorParallelism / 2),下限是127,上線是32768.
總結:Flink並行度配置級別 算子>全局env>客戶端CLI>配置文件 。
注意:
- setParallelism()設置的並行度需要小於.setMaxParallelism()設置的最大並行度。
- 某些算子無法設置並行度,如socketTextStream
- 本地模式並行度默認為cpu核數
- 並行度改變會影響任務划分,進而影響task數量,如果taskslots數量不滿足要求,會導致任務沒有足夠的資源分配。