Flink资源调优

Flink资源调优

💡 原文中文,约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等环节。
➡️

继续阅读