文档章节

jar包是怎么提交到Spark上运行的

守望者之父
 守望者之父
发布于 09/22 22:05
字数 425
阅读 10
收藏 0

我们都知道,写好spark程序后,可以通过命令行spark-submit方式提交到集群,那么这个具体的过程是怎么搞得呢?

spark有多种集群方式,如yarn,standalone等。提交方式又分为client和cluster等模式,这里就先拿standalone的client方式举例。

standalone方式下,spark集群有一个master和多个worker组成集群,现在spark又支持HA方式的热备,保障master安全,这块我们就不谈了,知道这个概念就行了。

spark-submit classMain xx.jar -master spark://127.0.0.1:8088 ,类似这样的命令提交jar包后,spark-submit先启动要给Client程序,然后这个Client程序将spark程序(classMain)打包成DriverDescription,并放在SubmitDriver消息体内提交给Master。

Master收到SubmitDriver消息后,根据消息里的参数DriverDescription创建好Driver,并等待调度。调度是schedule()方法触发的。这时候Master会找到一台Worker。并且给这台Worker发送LaunchDriver命令,LaunchDriver命令里带的参数就包括这个Driver的信息。

然后就是Worker的过程了,这时候这台Worker其实就是我们的spark程序的Driver所在的机器。这时候Worker会执行DriverRunnber,跑的就是我们的spark程序。

最后还有个小疑问?DriverRunner里是不是执行的是DriverWrapper呢?这点笔者还没完全搞明白哦。

 

© 著作权归作者所有

守望者之父
粉丝 13
博文 126
码字总数 123871
作品 0
南京
私信 提问
Spark安装启动 and 在程序中调用spark服务

1.软件准备 我的系统环境为ubuntu 13.10 1.scala-2.9.3.tgz http://www.scala-lang.org/files/archive/scala-2.9.3.tgz 由于spark是依赖scala2.9.3开发的,所以只能安装2.9.3,我试的时候一开...

zachary124
2014/01/25
18.4K
9
spark-submit提交Spark Streamming+Kafka程序

我的原创地址:https://dongkelun.com/2018/06/19/sparkSubmitKafka/ 前言 Spark Streaming本身是没有Kafka相关的jar包和API的,如果想利用Spark Streaming获取Kafka里的数据,需要自己将依赖...

董可伦
2018/07/12
0
0
Hadoop CDH5 Spark部署

Spark是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速,Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark ...

China_OS
2014/05/30
1K
0
spark用程序提交任务到yarn

先介绍官网提交的例子,我用的是spark 0.9.0 hadoop2.2.0 一.使用脚本提交 1.使用spark脚本提交到yarn,首先需要将spark所在的主机和hadoop集群之间hosts相互配置(也就是把spark主机的ip和主...

zachary124
2014/04/08
6.1K
1
Spark On Yarn Cluster 模式下的远程调试Spark源码(Attach模式)

Spark源码学习时,我们通常很想知道Spark-submit提交之后,Spark都做了什么,这就需要我们对Spark源码进行单步调试。另外,我们在spark on yarn模式下,尤其是yarn-cluster模式下,我们无法连...

stefan_xiepj
2018/05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【1015】LNMP架构二

【1015】LNMP架构二 三、PHP安装 PHP安装和LAMP安装PHP方法有差别,需要开启php-fpm服务 1、下载PHP7至/usr/local/src/ 切换目录:cd /usr/local/src 2、解压缩 tar -jxvf php-7.3.0.tar.gz...

飞翔的竹蜻蜓
35分钟前
4
0
浅谈Visitor访问者模式

一、前言 什么叫访问,如果大家学过数据结构,对于这点就很清晰了,遍历就是访问的一般形式,单独读取一个元素进行相应的处理也叫作访问,读取到想要查看的内容+对其进行处理就叫作访问,那么...

青衣霓裳
53分钟前
6
0
JS内嵌多个页面,页面之间如何更快捷的查找相关联的页面

假设parent为P页面, P页面有两个子页面,分别为B页面和C页面; B页面和C页面分别内嵌一个iframe,分别为:D页面和E页面 现在通过B页面的内嵌页面D的方法refreshEpage(eUrl)来加载内嵌页面E的内容...

文文1
54分钟前
7
0
Hibernate 5 升级后 getProperties 错误

升级到 Hibernate 5 后,提示有错误: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map; 完整的错误栈为: java.lang.NoSuchMethodError: org.hibernate......

honeymoose
56分钟前
6
0
mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
59分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部