12 2017 档案

摘要:Task的执行流程: 1. Driver端中的 CoarseGrainSchedulerBackend 给 CoarseGrainExecutorBacken 发送 LaunchTask 消息 2. CoarseGrainExecutorBacken 在收到消息后,首先会反序列化 TaskDescr 阅读全文
posted @ 2017-12-28 22:10 一剑侵心 阅读(775) 评论(0) 推荐(0) 编辑
摘要:1. 数据序列化 默认使用的是Java自带的序列化机制。优点是可以处理所有实现了java.io.Serializable 的类。但是Java 序列化比较慢。 可以使用Kryo序列化机制,通常比Java 序列化机制性能高10倍。但是并不支持所有实现了java.io.Serializable 的类。使用 阅读全文
posted @ 2017-12-27 15:32 一剑侵心 阅读(761) 评论(0) 推荐(0) 编辑
摘要:TaskScheduler 原理: 1. DAGScheduler 在提交Taskset给底层调度器的时候是面向接口TaskScheduler的, 这符合面向对象中依赖抽象原则,带来底层资源调度器的可插拔性, 导致Spark可以运行在众多的资源高度器模式上。例如: Standalone, Yarn, 阅读全文
posted @ 2017-12-24 18:24 一剑侵心 阅读(1204) 评论(0) 推荐(0) 编辑
摘要:Spark Executor 工作原理: 1. 在CoarseGrainedExecutorBackend启动时向Driver注册Executor,其实质是注册ExecutorBackend实例,和Executor实例之间没有直接关系 2. CoarseGrainedExecutorBackend 阅读全文
posted @ 2017-12-24 12:00 一剑侵心 阅读(4707) 评论(0) 推荐(3) 编辑
摘要:Spark Streaming 为了实现容错特性,接收到的数据需要在集群的多个Worker 节点上的 executors 之间保存副本(默认2份)。当故障发生时,有两种数据需要恢复: 1. 已接收并且有副本的数据。当只有一台worker 发生故障时,这些数据不会丢失 2. 已接收但还没有副本的数据。 阅读全文
posted @ 2017-12-18 17:39 一剑侵心 阅读(519) 评论(0) 推荐(0) 编辑
摘要:Master对其它组件注册的处理: Master如果决定接收注册的Worker,首先会创建WorkerInfo对象 ,来保存注册的Worker的信息。 注意:SparkContext 初始化时,会实例化SparkDeploySchedulerBackend,其内部有AppClient,而AppCli 阅读全文
posted @ 2017-12-16 21:24 一剑侵心 阅读(235) 评论(0) 推荐(0) 编辑
摘要:1. Spark 程序在运行的时候分为 Driver 和 Executor 两部分; 2. Spark 的程序编写是基于 SparkContext 的,具体来说包含两方面: a) Spark 编程的核心基础 RDD, 是由 SparkContext 来最初创建 b) Spark 程序的调度优化也是基 阅读全文
posted @ 2017-12-15 21:19 一剑侵心 阅读(1574) 评论(0) 推荐(0) 编辑
摘要:Hadoop Yarn解析: 1. Yarn是Hadoop推出整个分布式(大数据)集群的资源管理器,负责资源的管理和分配,基于Yarn,我们可以在同一个大数据集群上同时运行多个计算框架。例如:Spark、MapReduce、Storm等 2. Yarn基本工作流程: 注意:Container要向No 阅读全文
posted @ 2017-12-14 21:54 一剑侵心 阅读(6264) 评论(1) 推荐(0) 编辑
摘要:从Spark Runtime的角度来讲由五大核心对象:Master、Worker、Executor、Driver、CoarseGrainedExecutorBacked; Spark在做分布式集群系统设计的时候,最大化功能独立、模块化封装具体独立的对象、强内聚、松耦合。 Spark集群的启动及任务提 阅读全文
posted @ 2017-12-14 21:14 一剑侵心 阅读(684) 评论(1) 推荐(0) 编辑
摘要:提交Spark程序的机器一般一定和Spark集群在同样的网络环境中(Driver频繁和Executors通信),且其配置和普通的Worker一致 1. Driver: 具有main方法的,初始化 SparkContext 的程序。Driver运行在提交Spark任务的机器上。 Driver 部分的代 阅读全文
posted @ 2017-12-14 19:37 一剑侵心 阅读(373) 评论(0) 推荐(0) 编辑
摘要:总的来说,需要考虑以下两点: 1. 有效地运用集群资源去减少每个批次处理的时间 2. 正确的设置batch size,以使得处理速度能跟上接收速度 一. 为了减少处理时间,主要有以下几个优化点: 1. 接收数据的并行度。 每个InputDStream只创建一个Receiver用于接收数据,如果接收数 阅读全文
posted @ 2017-12-14 17:10 一剑侵心 阅读(1026) 评论(0) 推荐(0) 编辑
摘要:基于数据集的处理:从物理存储上加载数据,然后操作数据,然后写入物理存储设备。比如Hadoop的MapReduce。 缺点:1.不适合大量的迭代 2. 交互式查询 3. 不能复用曾经的结果或中间计算结果 基于工作集的处理:如Spark的RDD。RDD具有如下的弹性: 1. 自动的进行内存和磁盘数据存储 阅读全文
posted @ 2017-12-13 21:28 一剑侵心 阅读(1532) 评论(0) 推荐(0) 编辑
摘要:为了实现容错,需要做checkpoint。以Streaming为例,checkpoint中有两种数据: 1. Metadata checkpointing:用于恢复driver端出错的情况。其中包含: (1) Configuration 用于创建Streaming应用所需要的配置信息 (2)DStr 阅读全文
posted @ 2017-12-12 15:41 一剑侵心 阅读(377) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示