`
gaojingsong
  • 浏览: 1156027 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Spark运行模式】

阅读更多

在使用spark-submit提交Spark任务一般有以下参数:

 

./bin/spark-submit \

  --class <main-class> \

  --master <master-url> \

  --deploy-mode <deploy-mode> \

  --conf <key>=<value> \

  ... # other options

  <application-jar> \

  [application-arguments]

其中deploy-mode是针对集群而言的,是指集群部署的模式,根据Driver主进程放在哪分为两种方式:client和cluster,默认是client

 



 

 

一、client mode

Master节点就是你用来提交任务,即执行bin/spark-submit命令所在的那个节点;Driver进程就是开始执行你Spark程序的那个Main函数,虽然我这里边画的Driver进程在Master节点上,但注意Driver进程不一定在Master节点上,它可以在任何节点;Worker就是Slave节点,Executor进程必然在Worker节点上,用来进行实际的计算

1、client mode下Driver进程运行在Master节点上,不在Worker节点上,所以相对于参与实际计算的Worker集群而言,Driver就相当于是一个第三方的“client”

2、正由于Driver进程不在Worker节点上,所以其是独立的,不会消耗Worker集群的资源

3、client mode下Master和Worker节点必须处于同一片局域网内,因为Drive要和Executorr通信,例如Drive需要将Jar包通过Netty HTTP分发到Executor,Driver要给Executor分配任务等

4、client mode下没有监督重启机制,Driver进程如果挂了,需要额外的程序重启

 



 

二、cluster mode

1、Driver程序在worker集群中某个节点,而非Master节点,但是这个节点由Master指定

2、Driver程序占据Worker的资源

3、cluster mode下Master可以使用–supervise对Driver进行监控,如果Driver挂了可以自动重启

4、cluster mode下Master节点和Worker节点一般不在同一局域网,因此就无法将Jar包分发到各个Worker,所以cluster mode要求必须提前把Jar包放到各个Worker几点对应的目录下面

 

 

是选择client mode还是cluster mode呢?

一般来说,如果提交任务的节点(即Master)和Worker集群在同一个网络内,此时client mode比较合适

如果提交任务的节点和Worker集群相隔比较远,就会采用cluster mode来最小化Driver和Executor之间的网络延迟

 

Spark运行模式:cluster与client

 

When run SparkSubmit --class [mainClass], SparkSubmit will call a childMainClass which is

1. client mode, childMainClass = mainClass

2. standalone cluster mde, childMainClass = org.apache.spark.deploy.Client

3. yarn cluster mode, childMainClass = org.apache.spark.deploy.yarn.Client

The childMainClass is a wrapper of mainClass. The childMainClass will be called in SparkSubmit, and if cluster mode, the childMainClass will talk to the the cluster and launch a process on one woker to run the mainClass.
 
ps. use "spark-submit -v" to print debug infos.
 
Yarn client: spark-submit -v --class "org.apache.spark.examples.JavaWordCount" --master yarn JavaWordCount.jar
childMainclass: org.apache.spark.examples.JavaWordCount
Yarn cluster: spark-submit -v --class "org.apache.spark.examples.JavaWordCount" --master yarn-cluster JavaWordCount.jar
childMainclass: org.apache.spark.deploy.yarn.Client
 
Standalone client: spark-submit -v --class "org.apache.spark.examples.JavaWordCount" --master spark://aa01:7077 JavaWordCount.jar
childMainclass: org.apache.spark.examples.JavaWordCount
Stanalone cluster: spark-submit -v --class "org.apache.spark.examples.JavaWordCount" --master spark://aa01:7077 --deploy-mode cluster JavaWordCount.jar
childMainclass: org.apache.spark.deploy.rest.RestSubmissionClient (if rest, else org.apache.spark.deploy.Client)
 
  • 大小: 23.7 KB
  • 大小: 26.5 KB
0
0
分享到:
评论

相关推荐

    Spark的运行模式.xmind

    该资源主要是描述spark运行模式中的spark standalone模式和spark on yarn模式。详细内容可参见本人博客

    Spark-Core学习知识笔记整理

    1 Spark运行模式 8 2 Spark环境搭建 8 2.1Scala的安装 8 2.2Spark的单节点配置 9 2.3Spark-Standalone集群配置 9 2.4Spark-on-Yarn模式配置 12 2.5Spark-on-Mesos模式配置 13 2.6Hive-on-Spark配置 13 第三章 Spark...

    Spark & SparkSql编程学习资料

    第5章 Spark运行模式深入解析 第6章 Spark内核解析 第7章 GraphX大规模图计算与图挖掘实战 第8章 Spark SQL原理与实战 第9章 Machine Learning on Spark 第10章 Tachyon文件系统 第11章 Spark Streaming原理与实战 ...

    spark1.2.1常用模式部署运行

    描述了spark1.2.1在standalone集群模式和on yarn集群模式下的部署与运行方式。

    spark本地开发模式配置

    在自己的机器上配置spark的本地开发模式,可以用来测试spark代码是否正确,如果没问题,可以提交到spark集群上去运行,免去每次都要打包放到集群上去测试的麻烦。因为在网络上没找到合适的资源可以快速构建,所以就...

    springboot整合spark连接远程服务计算框架使用standAlone模式

    springboot整合spark连接远程服务计算框架使用standAlone模式

    SPARK.xmind

    大主题:概述、Spark RDD定义与特性、Spark Streaming概念及特性、Spark DataSet定义及内部机制、Spark作业执行过程、Spark运行模式、Spark环境搭建、Scala 基础语法。适合初学者。

    非常好的大数据入门目资源,分享出来.zip

    大数据 大数据学习路线 大数据技术栈思维导图 大数据常用软件安装指南 一、Hadoop 分布式文件存储系统 —— ...Spark 运行模式与作业提交 Spark 累加器与广播变量 基于 Zookeeper 搭建 Spark 高可用集群 Spark SQL :

    Spark独立部署模式

    Spark支持独立部署模式,包括一个Spark master进程和多个 Spark worker进程.独立部署模式可以运行在单机上作为测试之用,也可以部署在集群上.如果你打算部署在集群上,可以使用我们提供的部署脚本启动一个集群。

    大数据精选入门指南,包括大数据学习路线、大数据技术栈思维导图

    Spark运行模式与作业提交 Spark 累加器与广播信号 基于Zookeeper搭建Spark高可用服务 火花 SQL: 日期帧和数据集 结构化API的基本使用 Spark SQL 外部数据源 Spark SQL常用聚合函数 Spark SQL JOIN 操作 火花流:

    基于Spark Streaming的大数据实时流计算平台和框架,并且是基于运行在yarn模式运行的spark streaming

    一个完善的Spark Streaming二次封装开源框架,包含:实时流任务调度、...基于Spark Streaming的大数据实时流计算平台和框架(包括:调度平台,开发框架,开发demo),并且是基于运行在yarn模式运行的spark streaming

    Spark笔记1.docx

    什么是Spark? Spark特点?Hadoop与Spark的对比?Spark运行模式?Spark安装部署 standalone集群模式启动

    Spark实验:Standalone模式安装部署(带答案)1

    1. 解压Spark安装包 2. 配置Spark环境变量 2. 修改 spark-env.sh 文件,完成以下设置: 1. 设置运行master进程的节点, e

    windows中使用yarn-cluster模式提交spark任务

    windows中使用yarn-cluster模式提交spark任务,百度找不着的啦,看我这里。另外spark的版本要使用正确哦 更简单的方式参考: https://blog.csdn.net/u013314600/article/details/96313579

    尚硅谷大数据技术之 Spark1

    第 2 章 Spark 运行模式1.官网地址2.文档查看地址3.下载地址尚硅谷大数据技术之 Spark 基础解析更多 Java –大数据 –前端 –python

    Spark 2017最新运行命令样例

    包含spark三种运行模式所有相关运行指令 需要更多资源请关注。 个人github: https://github.com/huangyueranbbc

    【Spark内核篇02】Spark模式运行机制1

    (1)执行脚本提交任务,实际是启动一个SparkSubmit的JVM进程 (2)SparkSubmit类中的main方法反射调用Client的main方法 (3

    Hadoop原理与技术Spark操作实验

    一、实验目的 1. 理解Spark编程思想; 2. 学会在Spark Shell中编写Scala程序; 3. 学会在Spark Shell中运行Scala程序。 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 ...(二)spark运行wordcount程序

    Spark的模式挖掘—FPGrowth算法-内含源码以及设计说明书(可以自己运行复现).zip

    Spark的模式挖掘—FPGrowth算法-内含源码以及设计说明书(可以自己运行复现).zip

    Spark开发实例(编程实践)

    Spark 包含多种运行模式,可使用单机模式,也可以使用分布式模式。为简单起见,本节采用单机模式运行 Spark。 无论采用哪种模式,只要启动完成后,就初始化了一个 SparkContext 对象(SC),同时也创建了一个 ...

Global site tag (gtag.js) - Google Analytics