首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
【Spark2.0源码学习】-4.Master启动
】的更多相关文章
【Spark2.0源码学习】-1.概述
Spark作为当前主流的分布式计算框架,其高效性.通用性.易用性使其得到广泛的关注,本系列博客不会介绍其原理.安装与使用相关知识,将会从源码角度进行深度分析,理解其背后的设计精髓,以便后续在Spark使用以及设计类似产品提供相关经验,下面开始进入正题. 本系列博客将从集群各端点的设计原理.通信方式.启动流程,以及用户任务提交后,任务的集群加载.分解.调度的方式两个方面进行解读. 首先,从脚本开始 详见<[Spark2.0源码学习]-2.一切从…
spark2.0源码学习
[Spark2.0源码学习]-1.概述 [Spark2.0源码学习]-2.一切从脚本说起 [Spark2.0源码学习]-3.Endpoint模型介绍 [Spark2.0源码学习]-4.Master启动 [Spark2.0源码学习]-5.Worker启动 [Spark2.0源码学习]-6.Client启动 [Spark2.0源码学习]-7.Driver与DriverRunner [Spark2.0源码学习]-8.SparkContext与Application介绍 [Spark2.0源码学习]-9…
【Spark2.0源码学习】-4.Master启动
Master作为Endpoint的具体实例,下面我们介绍一下Master启动以及OnStart指令后的相关工作 一.脚本概览 下面是一个举例: /opt/jdk1..0_79/bin/java -cp /opt/spark-/conf/:/opt/spark-/jars/*:/opt/hadoop-2.6.4/etc/hadoop/ -Xmx1g -XX:MaxPermSize=256m org.apache.spark.deploy.master.Master --ho…
【Spark2.0源码学习】-6.Client启动
Client作为Endpoint的具体实例,下面我们介绍一下Client启动以及OnStart指令后的额外工作 一.脚本概览 下面是一个举例: /opt/jdk1..0_79/bin/java -cp /opt/spark-/conf/:/opt/spark-/jars/*:/opt/hadoop-2.6.4/etc/hadoop/ -Xmx1g -XX:MaxPermSize=256m org.apache.spark.deploy.SparkSubmit --master spar…
【Spark2.0源码学习】-5.Worker启动
Worker作为Endpoint的具体实例,下面我们介绍一下Worker启动以及OnStart指令后的额外工作 一.脚本概览 下面是一个举例: /opt/jdk1..0_79/bin/java -cp /opt/spark-/conf/:/opt/spark-/jars/*:/opt/hadoop-2.6.4/etc/hadoop/ -Xmx1g -XX:MaxPermSize=256m org.apache.spark.deploy.worker.Worker --we…
【Spark2.0源码学习】-2.一切从脚本说起
从脚本说起 在看源码之前,我们一般会看相关脚本了解其初始化信息以及Bootstrap类,Spark也不例外,而Spark我们启动三端使用的脚本如下: %SPARK_HOME%/sbin/start-master.sh %SPARK_HOME%/sbin/start-slaves.sh %SPARK_HOME%/sbin/start-all.sh %SPARK_HOME%/bin/spark-submit 三端启动脚本中对于公共处理部分进行抽取为独立的脚本,如下: …
【Spark2.0源码学习】-3.Endpoint模型介绍
Spark作为分布式计算框架,多个节点的设计与相互通信模式是其重要的组成部分. 一.组件概览 对源码分析,对于设计思路理解如下: RpcEndpoint:RPC端点 ,Spark针对于每个节点(Client/Master/Worker)都称之一个Rpc端点 ,且都实现RpcEndpoint接口,内部根据不同端点的需求设计不同的消息和不同的业务处理,如果需要发送/询问则调用Dispacher RpcEnv:RPC上下文环境,每个Rpc端点运行时依赖的上…
ThinkPHP5.0源码学习之框架启动流程
ThinkPHP5框架的启动流程图如下: ThinkPHP5的启动流程按照文件分为三步: 1.请求入口(public/index.php) 2.框架启动(thinkphp/start.php) 3.应用启动(thinkphp/library/App.php) ThinkPHP框架默认是单入口框架,默认的入口文件为public/index.php,所有请求全部经过入口文件index.php来进行访问. index.php代码如下: // 定义应用目录 define('APP_PATH', __…
【Spark2.0源码学习】-7.Driver与DriverRunner
承接上一节内容,Client向Master发起RequestSubmitDriver请求,Master将DriverInfo添加待调度列表中(waitingDrivers),下面针对于Driver进一步梳理 一.Master对Driver资源分配 大致流程如下: waitingDrivers与aliveWorkers进行资源匹配, 在waitingDrivers循环内,轮询所有aliveWorker 如果aliveWorker满足当前waitingD…
【Spark2.0源码学习】-8.SparkContext与Application介绍
在前面的内容,我们针对于RpcEndpoint启动以及RpcEndpoint消息处理机制进行了详细的介绍,在我们的大脑里,基本上可以构建Spark各节点的模样.接下来的章节将会从Spark如何从业务代码分解为Spark的任务,并最终调度这些任务进行详细的介绍. 前面针对于Client启动过程以及Driver进行了详细的描述,下面我们根据用户代码中的SparkContext这个API类进行解读,该类Spark用户代码执行的基础,后续我们会陆续介绍,下面针对于Spar…