- 博客(11)
- 收藏
- 关注
转载 Spark统一内存管理模型UnifiedMemoryManager
从spark1.6开始,引入了新的内存管理方式-----统一内存管理(UnifiedMemoryManager)。在统一内存管理下,Spark一个executor中的jvm heap内存被划分成如下图:在开始介绍图中各个部分之前,我们先明确一个概念(我还是以我熟悉spark on yarn来介绍),我们在为Executor申请内存的时候,实际是JVM 的堆(heap)内存。
2016-12-30 18:25:22 507
转载 Spark OutputCommitCoordinator
确定任务是否可以把输出提到到HFDS的管理者。 使用先提交者胜的策略。在driver 端和执行器端都要初始化OutputCommitCoordinator。在执行器端,有一个指向driver 端OutputCommitCoordinatorEndpoing对象的引用,所以提交输出的请求到被转发到driver端的OutputCommitCoordinator.这个类在Spark-4879提出
2016-12-30 17:50:34 4176
原创 Spark测量系统 MetricsSystem
Spark测量系统,由指定的instance创建,由source、sink组成,周期性地从source获取指标然后发送到sink,其中instance、source、sink的概念如下:Instance:指定了谁在使用测量系统,在spark中有一些列如master、worker、executor、client driver这些角色,这些角色创建测量系统用于监控spark状态,目前在spark中
2016-12-30 17:26:30 2588
转载 缓存管理器CacheManager
如果说spark是一把在大数据处理领域的快刀,那么spark的存储系统设计及管理等相关模块就算不是刀尖,也算得上十分锋利的刀锋了,由于工作需要,我会伴着源码来深入学习一下,这里做一个记录备忘。RDD的cache和persist谈到spark存储,第一反应先想到了RDD里的cache和persist。如果从RDD中的cache方法作为入口来看,cache与persist殊途同
2016-12-30 16:12:56 2512
转载 磁盘块管理器DiskBlockManager
DiskBlockManager管理和维护了逻辑上的Block和存储在Disk上的物理的Block的映射。默认情况下,一个逻辑的Block会根据它的BlockId生成的名字映射到一个物理上的文件。但是,也可以使用mapBlockToFileSegment方法映射到一个文件的一段区域。 这些物理文件会被hash到由Spark.local.dir(或者通过SPARK_LOCAL_DIRS来设置)上的不
2016-12-30 15:50:01 625
转载 Spark Broadcast内幕分析
一:Broadcast彻底解析1.Broadcast就是将数据从一个节点发送到其他的节点上。例如Driver上有一张表,而Executor中的每个并行执行的Task(100万个)都要查询这张表,那我们通过Broadcast的方式就只需要往每个Executor把这张表发送一次就行了。Executor中的每个运行的Task查询这张唯一的表,而不是每次执行的时候都从Driver获得这张表!
2016-12-30 15:35:24 1144
转载 Spark之MapOutputTracker类简单说明
相关类:MapOutputTrackerMessage,GetMapOutputStatuses extends MapPutputTrackerMessage,StopMapOutputTracker extends MapOutputTrackerMessage,MapOutputTrackerMasterActor,MapOutputTrackerMaster。 首先重写Map
2016-12-29 16:52:32 1343
转载 Spark Rpc通信分析
Spark 1.6+推出了以RPCEnv、RPCEndpoint、RPCEndpointRef为核心的新型架构下的RPC通信方式。其具体实现有Akka和Netty两种方式,Akka是基于Scala的Actor的分布式消息通信系统,Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
2016-12-29 15:20:41 410
转载 Linux登录时的环境变量设置
关于登录linux时,/etc/profile、~/.bash_profile等几个文件的执行过程在登录Linux时要执行文件的过程如下:在 刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash
2016-12-29 10:56:14 470
转载 SparkContext源码的简单分析
本篇文章就要根据源码分析SparkContext所做的一些事情,用过Spark的开发者都知道SparkContext是编写Spark程序用到的第一个类,足以说明SparkContext的重要性;这里先摘抄SparkContext源码注释来 简单介绍介绍SparkContext,注释的第一句话就是说SparkContext为Spark的主要入口点,简明扼要,如把Spark集群当作服务端那Spark
2016-12-28 17:14:29 479
转载 CopyOnWrite容器
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。
2016-12-28 17:01:22 350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人