Kafka topic分区数和Flink并行度的关系
Flink Kafka source的并行度需要和kafka topic的分区数一致。最大化利用kafka多分区topic的并行读取能力。由于一个Kafka分区只能被一个消费者消费,因此一定要确保Flink Kafka source的并行度不要大于Kafka分区数,否则有些计算资源会空闲。如果并行度和分区数相同配置后,消费数据的速度仍然跟不上生产数据的速度,需要加大Kafka的分区数。
同理,如果Sink端也是Kafka,sink的并行度尽量和Kafka分区数一致。
Yarn相关调优配置
yarn.scheduler.maximum-allocation-vcores
yarn.scheduler.minimum-allocation-vcores
Flink单个task manager的slot数量必须介于这两个值之间
yarn.scheduler.maximum-allocation-mb
yarn.scheduler.minimum-allocation-mb
Flink的job manager 和task manager内存不得超过container最大分配内存大小。
yarn.nodemanager.resource.cpu-vcores yarn的虚拟CPU内核数,建议设置为物理CPU核心数的2-3倍,如果设置过少,会导致CPU资源无法被充分利用,跑任务的
本文详细介绍了Flink在生产环境中的配置注意事项,包括Kafka topic分区数与Flink并行度匹配、Yarn相关调优配置、数据倾斜解决方案、并行度配置策略、TaskManager驻留时间设置、冗余TaskManager的数量管理、Checkpoint配置优化、RocksDB backend的使用、SSTable的block和block cache调整、全局参数与分布式缓存的应用,以及反压分析与性能瓶颈测试方法。
订阅专栏 解锁全文
9219

被折叠的 条评论
为什么被折叠?



