SparkLauncher流程记录(spark-2.2.0)

这里记录一下LauncherBackend和LauncherServer的通信流程

流程图

流程说明


    SparkLauncher 在startApplication方法里通过createBuilder方法调用spark-submit脚本,同时启动LauncherServer服务,用于接收LauncherBackend的消息
    通过把固定的环境变量通告出去,通知LauncherBackend启动连接LauncherServer。

    spark-submit 脚本调用SparkSubmit,SparkSubmit调用org.apache.spark.deploy.yarn.Client 来提交任务到yarn上。

    yarn.Client 在 submitApplication中启动LauncherBackend 来连接LauncherServer。
    并且在run方法中通过monitorApplication 中来检查app的状态变化,然后通过launcherBackend 把状态变化通知到 launcherServer上

    LauncherServer收到通知后会调用用户提供的listener

    更多细节参考Launcher其他记录

原文地址:https://www.cnblogs.com/cloud-zhao/p/8391376.html

时间: 2024-08-30 13:24:02

SparkLauncher流程记录(spark-2.2.0)的相关文章

Apache Spark 2.2.0 中文文档 - Spark Streaming 编程指南 | ApacheCN

Spark Streaming 编程指南 概述 一个入门示例 基础概念 依赖 初始化 StreamingContext Discretized Streams (DStreams)(离散化流) Input DStreams 和 Receivers(接收器) DStreams 上的 Transformations(转换) DStreams 上的输出操作 DataFrame 和 SQL 操作 MLlib 操作 缓存 / 持久性 Checkpointing Accumulators, Broadcas

Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession 创建 DataFrames 无类型的Dataset操作 (aka DataFrame 操作) Running SQL Queries Programmatically 全局临时视图 创建Datasets RDD的互操作性 使用反射推断Schema 以编程的方式指定Schema Aggregatio

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

作者:周志湖 网名:摇摆少年梦 微信号:zhouzhihubeyond 本节主要内容 操作系统环境准备 Hadoop 2.4.1集群搭建 Spark 1.5.0 集群部署 注:在利用CentOS 6.5操作系统安装spark 1.5集群过程中,本人发现Hadoop 2.4.1集群可以顺利搭建,但在Spark 1.5.0集群启动时出现了问题(可能原因是64位操作系统原因,源码需要重新编译,但本人没经过测试),经本人测试在ubuntu 10.04 操作系统上可以顺利成功搭建.大家可以利用CentOS

Apache Spark 1.5.0正式发布

Spark 1.5.0是1.x线上的第6个发行版.这个版本共处理了来自230+contributors和80+机构的1400+个patches.Spark 1.5的许多改变都是围绕在提升Spark的性能.可用性以及操作稳定性.Spark 1.5.0焦点在Tungsten项目,它主要是通过对低层次的组建进行优化从而提升Spark的性能.Spark 1.5版本为Streaming增加了operational特性,比如支持backpressure.另外比较重要的更新就是新增加了一些机器学习算法和工具,

What’s new in Spark 1.2.0

What's new in Spark 1.2.0 1.2.0 was released on 12/18, 2014 在2014年5月30日发布了Spark 1.0 和9月11日发布了Spark1.1.后,Spark 1.2 终于在12月18日发布.作为1.X时代的第三个release,它有什么重要更新呢? 1.    Spark Core:性能和易用性的改进 对于超大规模的Shuffle,Spark Core在性能和稳定性方面做了两个重要的更新: 一)     Communication M

Apache Spark 2.2.0 中文文档 - SparkR (R on Spark) | ApacheCN

SparkR (R on Spark) 概述 SparkDataFrame 启动: SparkSession 从 RStudio 来启动 创建 SparkDataFrames 从本地的 data frames 来创建 SparkDataFrames 从 Data Sources(数据源)创建 SparkDataFrame 从 Hive tables 来创建 SparkDataFrame SparkDataFrame 操作 Selecting rows(行), columns(列) Groupin

Spark 1.1.0 编译(为了支持hbase 0.98.6)

为了支持hbase0.98.6,需要重新编译spark 1. 下载spark 1.1.0源代码,以及 scala-2.10.4的bin包. 将环境变量 SCALA_HOME 设置为 scala-2.10.4 的目录位置. 2. 下载较新的pom.xml (https://github.com/tedyu/spark) 将该repository中的 spark/pom.xml和spark/examples/pom.xml下载下来,覆盖至用于编译的spark源代码中. 3. 进入源代码目录编译 ex

Spark记录-Spark on Yarn框架

一.客户端进行操作 1.根据yarnConf来初始化yarnClient,并启动yarnClient2.创建客户端Application,并获取Application的ID,进一步判断集群中的资源是否满足executor和ApplicationMaster申请的资源,如果不满足则抛出IllegalArgumentException:3.设置资源.环境变量:其中包括了设置Application的Staging目录.准备本地资源(jar文件.log4j.properties).设置Applicati

Spark记录-Spark性能优化(开发、资源、数据、shuffle)

开发调优篇 原则一:避免创建重复的RDD 通常来说,我们在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个初始的RDD:接着对这个RDD执行某个算子操作,然后得到下一个RDD:以此类推,循环往复,直到计算出最终我们需要的结果.在这个过程中,多个RDD会通过不同的算子操作(比如map.reduce等)串起来,这个"RDD串",就是RDD lineage,也就是"RDD的血缘关系链". 我们在开发过程中要注意:对于同一份数据,只应该