
大数据
东阳z
从大数据到深度学习到C++到Java
展开
-
spark源码阅读-存储体系4(磁盘存储DiskStore)
DiskStore负责将Block存储到磁盘。其依赖于DiskBlockManager的服务。在spark1.x.x版本中,BlockStore提供了对磁盘存储DiskStore、内存存储MemoryStore及Tachyon存储TachyonStore的统一规范,上述都是具体的实现。但是从Spark2.0.0版本开始,取消了TachyonStore,取消了统...原创 2020-04-27 15:44:38 · 136 阅读 · 0 评论 -
spark源码阅读-存储体系2(Block信息管理器)
摘要BlockInfoManeger是BlockManager的子组件之一,其对Block锁的管理采用了共享锁与排他锁,即读锁/写锁。 1. lockForWriting: 锁定写(获取写锁) 2. get: 获取BlockId对应的BlockInfo. 4. downgradeLock: 锁降级 5. lockNewBlockFo...原创 2020-04-24 06:47:31 · 125 阅读 · 0 评论 -
spark源码阅读-存储体系3(磁盘Block管理器)
DiskBlockManager是存储体系的成员之一,它负责为逻辑的Block与数据写入磁盘的位置之间建立逻辑的映射关系。对于不了解的事务,我们应该先看看它定义了哪些属性。DiskBlockManager的属性如下。conf:即sparkconf。deleteFilesOnStop:停止DiskBlockManager的时候是否删除本地目录的布尔类型标...原创 2020-04-27 02:20:38 · 278 阅读 · 1 评论 -
spark源码阅读-存储体系1(概述)
简单来讲,spark存储体系市各个Driver和Excutor实例中的BlockManager所组成的。但是从一个整体出发,把各个结点的BlockManager看程存储体系的一部分,那么存储体系还包含更多衍生的内容,如块传输服务,map任务输出跟踪器,Shuffle管理器等。 在正式介绍储存体系之前,需要对存储体系从整体上有个宏观的认识,浙...原创 2020-04-24 10:55:56 · 135 阅读 · 0 评论 -
spark源码阅读-存储体系7(块管理器BlockManager)2
在上一篇文章中,我们对块管理器BlockManager的一部分方法进行了介绍,本文将介绍剩余部分。2.14 releaseAllLocksForTask此方法用于任务尝试线程对持有的所有Block的锁进行释放。def releaseAllLocksForTask(taskAttemptId: Long): Seq[BlockId] = ...原创 2020-05-03 22:03:36 · 175 阅读 · 0 评论 -
spark源码阅读-存储体系6(内存存储MemoryStore)
MemoryStore负责将Block存储到内存。Spark通过将广播数据、RDD、Shuffle数据存储到内存,减少了对磁盘I/O的依赖,提高了程序的读写效率。MemoryStore依赖于MemoryManager的服务。一、MemoryStore的内存模型Block再内存中是以什么形式存在呢?Spark将内存中的Block抽象为特质Memo...原创 2020-04-30 01:36:10 · 729 阅读 · 0 评论 -
spark源码阅读-存储体系8(BlockManagerMaster)
BlockManagerMaster的作用是对存在于Executor或Driver上的BlockManager进行统一管理。Executor与Driver关于BlockManager的交互都依赖于BlockManagerMaster,比如Exector需要向Driver发送注册BlockManager、更新Executor上的Block最新信息、询问所需要的B...原创 2020-05-06 00:04:16 · 264 阅读 · 0 评论 -
spark源码阅读-存储体系5(内存管理器)
1. setMemoryStore 2. acquireStorageMemory 3. acquireUnrollMemory 4. releaseStorageMemory: 5. releaseAllStorageMemory 6. releaseUnrollMemory 7. storageMemoryUsed 1....原创 2020-04-28 12:53:18 · 152 阅读 · 0 评论 -
spark源码阅读7-调度系统3(stage详解)
DAGScheduler会将Job的RDD划分到不同的stage并行执行,并构建这些Stage的依赖关系。这样可以使得没有依赖关系的Stage并行执行,并保证有依赖关系的Stage顺序执行。并行执行能够有效利用集群资源,提升运行效率,而串行执行则适用于那些在时间和数据资源上具有强制依赖的场景。Stage分为需要进行Shuffle处理的ShuffleMapSta...原创 2020-05-08 22:25:35 · 296 阅读 · 0 评论 -
spark源码阅读7-调度系统2(RDD详解)
RDD(Resulient Distributed Databases, 弹性分布式数据集)代表可并行操作元素的不可变分区集合。严格来讲,RDD的转换及DAG的构成并不属于调度系统的内容,但是RDD却是调度系统操作的主要对象,因此有必要对RDD进行详细的介绍。一、为什么需要RDD1. 数据处理模型RDD是一个容错的、并行的数据结构,可以...原创 2020-05-07 03:27:54 · 306 阅读 · 0 评论 -
spark源码阅读7-调度系统1(概述)
简单来说,Spark调度系统用于将用户提交的“任务”调度到集群中的不同结点执行。但是Spark实现的调度系统,并非一句话所概括的这么简单。Spark的资源调度为两层调度。这里只介绍第二层调度。(第一层调度将在9中介绍) 调度的对象是什么?作业或者任务。在业务场景中所说的任务与Spark集群中运行的任务在概念上存在很多偏差。人类往往把一件要做的事情认为是...原创 2020-05-06 10:31:13 · 101 阅读 · 0 评论 -
spark源码编译运行(2)
编译spark详细步骤推荐阅读:windows下在idea用maven导入spark2.3.1源码并编译并运行示例以及记录一个错误:error: error while loading Object, Missing dependency 'object scala.native in compiler mirror网上找了很多方法,我是通过把Shorten command line设置为n...原创 2020-04-03 09:16:29 · 359 阅读 · 0 评论 -
Windows使用maven编译spark遇到的坑
1. 首先检查版本:本地的scala,jdk版本一定要和项目的pom.xml中所指定的一样,或者比pom中的高。2. Cannot run program "javac"问题和Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile问题我在网上找了很多方法,都是在走弯路。我这里,这两个问题都是因为jdk...原创 2020-04-01 20:14:12 · 462 阅读 · 0 评论 -
spark源码阅读-存储体系7(块管理器BlockManager)1
BlockManager运行在每个结点上(包括Driver和Executor),提供对本地或远端结点上的内存、磁盘及堆外内存中Block的管理。存储体系从狭义上来说就是指BlockManager,从广义上来说,则包括整个Spark集群中的各个BlockManager、BlockInfoManager、DiskBlockManager、DiskStore、Mem...原创 2020-05-02 12:59:28 · 384 阅读 · 0 评论 -
hadoop高可用集群部署
hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA、YARN等。最新的hadoop-2.6.4又增加了YARN HA文章目录集群规划:说明:安装步骤:1.安装配置zooekeeper集群(在hadoop05上)2.安装配置hadoop集群(在hadoop00上操作)2.2.2修改core-site.xml2.2.3修改hdfs-site.xml2.2.4修改mapred-site.xml2.2.5修改yarn-site.xml2.2.6修改slaves2.2.7配置免密码登陆2.原创 2020-07-02 09:10:22 · 318 阅读 · 0 评论