原文中文,约2600字,阅读约需7分钟。
📝
内容提要
本文简要介绍了Flink的内存和并行度设置,包括TaskManager内存模型、JVM特有内存、框架内存、网络内存和管理内存,以及flink-conf.yml设置、env级别设置、客户端级别设置和算子级别设置。合理的内存和并行度设置可以提高数据处理效率。
🎯
关键要点
-
Flink的内存设置包括TaskManager内存模型、JVM特有内存、框架内存、网络内存和管理内存。
-
TaskManager内存模型使用堆上内存和堆外内存,框架内存不计入slot资源。
-
JVM特有内存包括metaspace和执行开销,默认配置为256mb和0.1的比例。
-
Flink框架内存的堆内和堆外内存默认分别为128mb。
-
TaskManager内存用于执行用户代码,堆内和堆外内存的默认配置分别为none和0。
-
网络内存用于数据交换,堆外内存的默认配置为0.1的比例。
-
管理内存用于RocksDB状态后端和中间结果的管理,默认配置为0.4的比例。
-
并行度设置与具体作业强关联,默认并行度为5。
-
可以通过flink-conf.yml、环境级别、客户端级别和算子级别设置并行度。
-
算子级别的并行度设置优先级最高,覆盖其他级别的配置。
-
合理的并行度设置可以提高数据处理效率,特别是在source和Sink等环节。
🏷️