Flink内存配置和优化

在 Apache Flink 1.18 的 Standalone 集群中,内存设置是一个关键配置,它直接影响集群的性能和稳定性。

Flink 的内存配置主要包括 JobManager 和 TaskManager 的内存分配。

以下是如何在 Standalone 模式下配置内存的详细说明。

  1. JobManager 内存配置
    JobManager 是 Flink 集群的主节点,负责协调任务调度和资源管理。它的内存配置可以通过以下参数进行调整:

配置项(conf/flink-conf.yaml)

复制代码
#JobManager 的总内存大小
jobmanager.memory.process.size: 3072m

# JobManager 的 JVM 堆内存大小
jobmanager.memory.heap.size: 1536m

# JobManager 的 JVM 堆外内存大小(可选)
jobmanager.memory.off-heap.size: 256m

# JobManager 的 JVM 直接内存大小(可选)
jobmanager.memory.jvm-overhead.min: 256m
jobmanager.memory.jvm-overhead.max: 1024m

JobManager 内存说明:

jobmanager.memory.process.size:设置 JobManager 的总内存大小,包括堆内存和堆外内存。

jobmanager.memory.heap.size:设置JobManager 的 JVM 堆内存大小。

jobmanager.memory.off-heap.size:设置 JobManager 的堆外内存大小(可选)。

jobmanager.memory.jvm-overhead:设置 JVM 开销内存(用于线程栈、元数据等)。

  1. TaskManager 内存配置
    TaskManager 是 Flink 集群的工作节点,负责执行具体的任务。它的内存配置更为复杂,通常需要根据任务的需求进行调整。

配置项(conf/flink-conf.yaml)

复制代码
# TaskManager 的总内存大小
taskmanager.memory.process.size: 22528m

# TaskManager 的 JVM 堆内存大小
taskmanager.memory.task.heap.size: 15360m

# TaskManager 的堆外内存大小(用于网络缓冲、状态后端等)
taskmanager.memory.task.off-heap.size: 1024m

# TaskManager 的托管内存大小(用于 RocksDB 状态后端等)
taskmanager.memory.managed.size: 1024m

# TaskManager 的 JVM 开销内存
taskmanager.memory.jvm-overhead.min: 1024m
taskmanager.memory.jvm-overhead.max: 5120m

# TaskManager 的网络内存大小(用于网络数据传输)
taskmanager.memory.network.min: 64m
taskmanager.memory.network.max: 256m

TaskManager 内存说明:

taskmanager.memory.process.size:设置 TaskManager 的总内存大小。

taskmanager.memory.task.heap.size:设置 TaskManager 的 JVM 堆内存大小。

taskmanager.memory.task.off-heap.size:设置 TaskManager 的堆外内存大小(用于网络缓冲、状态后端等)。

taskmanager.memory.managed.size:设置托管内存大小(用于 RocksDB 状态后端等)。

taskmanager.memory.jvm-overhead:设置 JVM 开销内存(用于线程栈、元数据等)。

taskmanager.memory.network:设置网络内存大小(用于网络数据传输)。

相关推荐
诗旸的技术记录与分享6 小时前
Flink-1.19.0源码详解-番外补充3-StreamGraph图
大数据·flink
资讯分享周6 小时前
Alpha系统联结大数据、GPT两大功能,助力律所管理降本增效
大数据·gpt
G皮T7 小时前
【Elasticsearch】深度分页及其替代方案
大数据·elasticsearch·搜索引擎·scroll·检索·深度分页·search_after
TDengine (老段)8 小时前
TDengine STMT2 API 使用指南
java·大数据·物联网·时序数据库·iot·tdengine·涛思数据
用户Taobaoapi20149 小时前
母婴用品社媒种草效果量化:淘宝详情API+私域转化追踪案例
大数据·数据挖掘·数据分析
G皮T10 小时前
【Elasticsearch】检索排序 & 分页
大数据·elasticsearch·搜索引擎·排序·分页·检索·深度分页
Edingbrugh.南空11 小时前
Flink MySQL CDC 环境配置与验证
mysql·adb·flink
小新学习屋14 小时前
Spark从入门到熟悉(篇三)
大数据·分布式·spark
rui锐rui14 小时前
大数据学习2:HIve
大数据·hive·学习
G皮T14 小时前
【Elasticsearch】检索高亮
大数据·elasticsearch·搜索引擎·全文检索·kibana·检索·高亮