IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【flink】一个TaskManager 实例下,多个slot线程分别执行不同job任务,如何隔离jar包资源以及计算资源 -> 正文阅读

[大数据]【flink】一个TaskManager 实例下,多个slot线程分别执行不同job任务,如何隔离jar包资源以及计算资源

问题思考?

在这里插入图片描述

  1. 官网中flink架构图,flink中默认TaskManager是分配一个slot,对应一个jvm
  2. 如果一个TaskManager分配三个slot线程,并且3个slot分别执行了不同job的算子任务,根据官网描述可以共享“数据集和数据结构”,且按照我们日常编码,一个jvm实例内的不同线程,是共享jvm中的共同的成员变量以及类包的,那么显然如果这样flink执行任务会发生紊乱,所以flnk是怎么做的?:flink中一个jvm内共享了什么数据集,数据结构? 不同job任务可能存在同全类名的类,甚至同一个项目包的类,加载到一个jvm中怎么做到互相隔离,成员变量互不影响?

源码解析

org.apache.flink.runtime.taskmanager.Task#doRun
在这里插入图片描述
org.apache.flink.runtime.execution.librarycache.LibraryCacheEntry#LibraryCacheEntry
在这里插入图片描述
org.apache.flink.runtime.taskmanager.Task#doRun在这里插入图片描述
可以看到task获取到任务之后

  1. 下载任务代码
  2. 新建任务线程的类加载器
  3. 任务线程所有类使用新建的类加载器
  4. 显然,slot共享的数据结构就是flink框架启动提前已经加载的公共类,比如tcp连接相关的类,slotTable缓存等【双亲委派机制】

那么问题就清晰了,因为不同的类加载器有独立的类名称空间,即使来自同一个class文件,如果类加载器不一样,那么就是不同的类,因此不同task的代码运行在同一taskmanager上,即使有相同的class文件加载,也互相隔离,实际上这也是所有web容器框架都需要解决的问题。

结论

参考《深入理解jvm》
在这里插入图片描述
类加载器对instance of的影响,代码例子如下:
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:40:01  更:2021-08-12 16:40:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:09:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码