并行度介绍及四种设置方式。
一个Flink程序由多个组件组成(Source、Transformation和 Sink)。 一个组件由多个并行实例(线程)来执行, 一个组件的并行实例(线程)数目就被称为该组件的并行度。
Flink的每个TaskManager为集群提供Solt, Solt的数量通常与每个TaskManager节点的可用CPU数量成比例,一般情况下Slot的数量就是每个节点的可用CPU数量。


Flink任务的并行度可以通过4个层面来设置。
这些并行度优先级为Operator Level>Execution Environment Level>Client Level>System Level
1).并行度设置之Operator Level
算子、数据源和目的地的并行度可以通过调用 setParallelism()方法来指定。

2).并行度设置之Execution Environment Level
执行环境层面的并行度可以通过调用setParallelism()方法指定。为了以并行度3来执行所有的算子、数据源和目的地,可以通过如下的方式设置执行环境的并行度。
注意:执行环境的并行度可以通过显式设置算子的并行度而被重写。

3).并行度设置之Client Level
并行度还可以在客户端提交Job时设定。通过-p参数指定并行度。
bin/flink run -p 10 FlinkDemo.jar
这里表示把并行度设置为10。
4).并行度设置之System Level
在系统层面可以通过设置flink-conf.yaml文件中的parallelism.default属性来指定所有执行环境的默认并行度。