(十五)Flink 内存管理机制

embedded/2024/10/18 9:16:36/

大数据领域,很多开源框架(Hadoop、Spark、Storm)都是基于 JVM 运行,但是 JVM 的内存管理机制往往存在着诸多类似 OutOfMemoryError 的问题,主要是因为创建大量的实例,超过 JVM 的最大堆内存限制,没有被有效的回收。这在很大程度上影响了系统的稳定性,因此很多框架都实现了自己的内存管理,从而更好的使用 JVM 来处理大规模数据集。本章我们通过对 Flink 内存模型、JobManager 以及 TaskManager 内存配置的介绍,全方位了解 Flink 在内存方面是如何自主管理的。

目录

flink-%E8%87%AA%E4%B8%BB%E5%86%85%E9%83%A8%E7%AE%A1%E7%90%86-toc" style="margin-left:40px;">Flink 自主内部管理

flink-%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98%E6%A8%A1%E5%9E%8B-toc" style="margin-left:40px;">Flink 进程内存模型

JobManager 内存管理

TaskManager 内存管理


Flink 自主内部管理

Apache Flink 基于 JVM 的高效处理能力,依赖于其对各组件内存用量的细致掌控。从一开始就使用了自主内存管理,避开了 JVM 内存管理在大数据场景下的问题提升了计算效率。

Flink 的内存管理和操作系统管理内存一样,将内存划分为内存段、内存页等结构。

  • 内存段

Flink 并不是将大量对象存在堆内存上,而是将对象都序列化到一个预分配的内存块上,这个内存块叫做 MemorySegment,它代表了一段固定长度的内存(默认大小为 32KB),也是 Flink 中最小的内存分配单元,并且提供了非常高效的读写方法,很多运算可以直接操作二进制数据,不需要反序列化即可执行。每条记录都会以序列化的形式存储在一个或多个 MemorySegment 中。


http://www.ppmy.cn/embedded/100908.html

相关文章

学习大数据DAY43 Sqoop 安装,配置环境和使用

目录 sqoop 安装 配置 mysql sqoop 安装 sqoop 指令集 sqoop 使用 sqoop 创建 hive 表 sqoop 全量导入表 sqoop 增量导入表 sqoop 全量导出表 sqoop 分区表导入表 sqoop 分区表导出表 上机练习 sqoop 安装 配置 mysql create database test DEFAULT CHARACTER S…

深度学习学习经验——长短期记忆网络(LSTM)

长短期记忆网络(LSTM) 长短期记忆网络(LSTM,Long Short-Term Memory)是一种特殊的循环神经网络(RNN),专为解决 RNN 中长期依赖问题而设计。LSTM 引入了三个门和一个细胞状态&#x…

Linux云计算 |【第二阶段】SECURITY-DAY3

主要内容: Prometheus监控服务器、Prometheus被监控端、Grafana监控可视化 补充:Zabbix监控软件不自带LNMP和DB数据库,需要自行手动安装配置;Prometheus监控软件自带WEB页面和DB数据库;Prometheus数据库为时序数据库&…

机器人走路问题优化解法

public class Test53 {//假设有N个位置,记为1-N,N大于或等于2//开始机器人在M位置上(M为1-N中的一个)//如果机器人来到1位置,那么下一步只能向右来到2位置//如果机器人来到N位置,那么下一步只能向左来到N-1…

Vue小玩意儿:vue3+express.js实现大文件分片上传

vue3: <template><div><h1>大文件分片上传</h1><input type"file" change"onFileChange"/><div v-if"progress > 0">上传进度: {{ progress }}%</div></div> </template><script …

浅谈Kafka(三)

浅谈Kafka&#xff08;三&#xff09; 文章目录 浅谈Kafka&#xff08;三&#xff09;Kafka目录介绍基础操作JMX接口消费者是否能够消费指定分区的消息生产者是否发送消息到leader创建主题时如何把分区放到不同broker中Kafka新建的分区在哪个目录创建Kafka java示例 Kafka目录介…

代码随想录算法训练营第十一天|150. 逆波兰表达式求值 、239. 滑动窗口最大值、347.前 K 个高频元素

Leetcode150. 逆波兰表达式求值 题目链接&#xff1a;150. 逆波兰表达式求值 C&#xff1a; class Solution { public:int evalRPN(vector<string>& tokens) {stack<long long> st; for (int i 0; i < tokens.size(); i) {if (tokens[i] "" …

解密网络安全:初学者指南

密码学是网络安全的基石&#xff0c;它不仅确保数据的机密性&#xff0c;还能保护数据的完整性和不可否认性。本文将带领你了解密码学的基本概念以及它在保护数据机密性中的应用。 什么是密码学&#xff1f; 当我们通过计算机网络传输数据时&#xff0c;如果无法防止他人窃听…