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:设置网络内存大小(用于网络数据传输)。

相关推荐
IT毕设梦工厂17 分钟前
大数据毕业设计选题推荐-基于大数据的国家基站整点数据分析系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·spark·毕业设计·源码·数据可视化
江瀚视野41 分钟前
苹果要在抖音上卖iPhone了?苹果看上了抖音什么?
大数据
微三云-轩42 分钟前
区块链系统:解决549 亿元积分商城是否违法的问题
大数据·小程序·重构·区块链·生活
项目題供诗1 小时前
Hadoop(八)
大数据·hadoop·分布式
在未来等你2 小时前
Kafka面试精讲 Day 7:消息序列化与压缩策略
大数据·分布式·面试·kafka·消息队列
在未来等你2 小时前
Kafka面试精讲 Day 10:事务机制与幂等性保证
大数据·分布式·面试·kafka·消息队列
武子康2 小时前
大数据-91 Spark广播变量:高效共享只读数据的最佳实践 RDD+Scala编程
大数据·后端·spark
deepwater_zone2 小时前
大数据(非结构化数据,Spark,MongoDB)
大数据
DreamNotOver2 小时前
基于Spark的中文文本情感分析系统研究
大数据·分布式·spark·情感分析
self_myth3 小时前
【考研/面试必备】操作系统核心原理与IPO机制深度解析
大数据·算法