怎么实现Spark的分布式存储系统BlockManager全解析

发布时间:2021-12-17 09:46:03 作者:柒染
来源:亿速云 阅读:177

这篇文章将为大家详细讲解有关怎么实现Spark的分布式存储系统BlockManager全解析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

BlockManager 是 spark 中至关重要的一个组件,在spark的运行过程中到处都有 BlockManager 的身影,只有搞清楚 BlockManager 的原理和机制,你才能更加深入的理解 spark。

§ BlockManager是什么?

怎么实现Spark的分布式存储系统BlockManager全解析

§ BlockManager和Driver、executor的关系

其关系如图:

怎么实现Spark的分布式存储系统BlockManager全解析

从中可以看到

  1. blockManagerMaster在driver端生成

  2. executor中生成blockManager,并负责向BMM注册。

  3. spark中注册消息通过ActorSystem进行发送

§ 把块block 存入blockManager的流程

怎么实现Spark的分布式存储系统BlockManager全解析

比如特殊的2个地方:

  1. 试图put时,会先看下该blockId是否有缓存,有的话直接取过来,否则就重新创建blockInfo

  2. 存储时会先判断内存是否充足,充足就写入memoryStore,如果不够会先释放再尝试放入。

§ 从blockManager中删除块

怎么实现Spark的分布式存储系统BlockManager全解析

删除的操作没什么特别的,主要是会判断一下块的存储级别,选择从不同的store中取块。

§ shuffClient 下载block操作

怎么实现Spark的分布式存储系统BlockManager全解析

BMMAC就是BlockManagerMasterActor,我当初瞎写的简称

§ shuffeClinet的备份操作

怎么实现Spark的分布式存储系统BlockManager全解析

§ BlockManager和Executor、driver的关系:

怎么实现Spark的分布式存储系统BlockManager全解析

从中可以看到

  1. blockManagerMaster在driver端生成

  2. executor中生成blockManager,并负责向BMM注册。

  3. spark中注册消息通过ActorSystem进行发送

关于怎么实现Spark的分布式存储系统BlockManager全解析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. GFS分布式文件存储系统(理论)
  2. 分布式存储系统-GlusterFs概述

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spark blockmanager

上一篇:JS逆向的方法是什么

下一篇:python匿名函数怎么创建

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》