Flink的并行度设置

task的parallelism可以在Flink的不同级别上指定。四种级别是:算子级别、执行环境(ExecutionEnvironment)级别、客户端(命令行)级别、配置文件(flink-conf.yaml)级别

* 每个operator、data source或者data sink都可以通过调用setParallelism()方法来指定

* 运行环境的默认并发数可以通过调用setParallelism()方法来指定。env.setParallelism(3);运行环境的并发数可以被每个算子确切的并发数配置所覆盖。

* 对于CLI客户端,并发参数可以通过-p来指定

* 影响所有运行环境的系统级别的默认并发度可以在./conf/flink-conf.yamlparallelism.defaul项中指定。不建议


当然,你也可以设置最大的并行度

* 你可以通过调用setMaxParallelism()方法来设置最大并发度。


Flink如何确定TaskManager个数?答案:Job的最大并行度除以每个TaskManager分配的任务槽数

Flink on YARN时,TaskManager的数量就是:max(parallelism) / yarnslots(向上取整)。例如,一个最大并行度为10,每个TaskManager有两个任务槽的作业,就会启动5个TaskManager




参考:

https://cloud.tencent.com/developer/article/1500184

https://www.jianshu.com/p/9c301ff1a9b2

猜你喜欢

转载自www.cnblogs.com/maoxiangyi/p/11856045.html