Spark的运行模式(2)--Yarn-Cluster

3. Yarn-Cluster

Yarn是一种统一资源管理机制,可以在上面运行多种计算框架。Spark on Yarn模式分为两种:Yarn-Cluster和Yarn-Client,前者Driver运行在Worker节点,后者Driver运行在Client节点上。采用Spark on Yarn模式,只需要在一个节点部署Spark就行了,因此部署比较简单。

先介绍一下Yarn-Cluster。

首先把spark-assembly-1.6.0-hadoop2.6.0.jar上传到HDFS。

由于Yarn在安装Hadoop的时候已经配置了,所以就直接对Spark进行配置了。spark-env.sh在部署Standalone模式是已经设置了,所以也不需要在设置。这里只需要在Master节点设置spark-defaults.conf,该文件在${HADOOP_HOME}/conf目录下,增加以下设置:

spark.master                         spark://master:7077
spark.yarn.jar                     hdfs://master:9000/spark/jars/spark-assembly-1.6.0-hadoop2.6.0.jar
spark.eventLog.enabled                true
spark.eventLog.dir                 hdfs://master:9000/spark/logs
spark.serializer                      org.apache.spark.serializer.KryoSerializer
spark.driver.memory                   1g
spark.yarn.scheduler.heartbeat.intervals-ms            5000
spark.yarn.preserve.staging.files                      false
spark.yarn.max.executor.failures                       6
spark.driver.extraJavaOptions -Dhdp.version=2.6.5
spark.yarn.am.extraJavaOptions -Dhdp.version=2.6.5

Spark on Yarn不需要启动Spark的Master或者Slave,只需要启动Hadoop的DFS和Yarn就行了,也就是只需要运行Hadoop的start-all.sh就行了,因此运行也相对简单,并且性能还比较好。

启动Hadoop的DFS和Yarn以后,运行:

其中的 --master yarn-cluster表明以Yarn-Cluster模式运行。运行结束以后可以Master:8080看到这个Application:

点进Logs可以看见运行结果:

时间: 2024-12-06 07:29:23

Spark的运行模式(2)--Yarn-Cluster的相关文章

Spark多种运行模式

1,测试或实验性质的本地运行模式 (单机) 该模式被称为Local[N]模式,是用单机的多个线程来模拟Spark分布式计算,通常用来验证开发出来的应用程序逻辑上有没有问题. 其中N代表可以使用N个线程,每个线程拥有一个core.如果不指定N,则默认是1个线程(该线程有1个core). 如果是local[*],则代表 Run Spark locally with as many worker threads as logical cores on your machine. 如下: spark-s

Spark各运行模式详解

一.测试或实验性质的本地运行模式 (单机) 该模式被称为Local[N]模式,是用单机的多个线程来模拟Spark分布式计算,通常用来验证开发出来的应用程序逻辑上有没有问题. 其中N代表可以使用N个线程,每个线程拥有一个core.如果不指定N,则默认是1个线程(该线程有1个core). ? ? 指令示例: ? ? 1)spark-shell --master local 效果是一样的 2)spark-shell --master local[4] 代表会有4个线程(每个线程一个core)来并发执行

Spark的运行模式(1)--Local和Standalone

Spark一共有5种运行模式:Local,Standalone,Yarn-Cluster,Yarn-Client和Mesos. 1. Local Local模式即单机模式,如果在命令语句中不加任何配置,则默认是Local模式,在本地运行.这也是部署.设置最简单的一种模式 2. Standalone Standalone是Spark自身实现的资源调度框架.如果我们只使用Spark进行大数据计算,不使用其他的计算框架(如MapReduce或者Storm)时,就采用Standalone模式. Stan

spark内部运行模式

概述Spark Application在遇到action算子时,SparkContext会生成Job,并将构成DAG图将给DAG Scheduler解析成Stage. Stage有两种: ShuffleMapStage这种Stage是以Shuffle为输出边界其输入边界可以是从外部获取数据,也可以是另一个ShuffleMapStage的输出其输出可以是另一个Stage的开始ShuffleMapStage的最后Task就是ShuffleMapTask在一个Job里可能有该类型的Stage,也可以能

spark本地运行模式

Spark设置setMaster=local,不提交集群,在本地启用多线程模拟运行 object SparkUtil {      private val logger = Logger.getLogger(getClass.getName, true)      def getSparkContext(appName:String, local:Boolean=false, threadNum:Int=4):SparkContext = {            val conf = new 

Spark on YARN两种运行模式介绍

本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发)   问题导读 1.Spark在YARN中有几种模式? 2.Yarn Cluster模式,Driver程序在YARN中运行,应用的运行结果在什么地方可以查看? 3.由client向ResourceManager提交请求,并上传jar到HDFS上包含哪些步骤? 4.传递给app的参数应该通过什么来指定? 5.什么模式下最后将结果输

Spark internal - 多样化的运行模式(上)

Spark的运行模式多种多样,在单机上既可以以本地模式运行,也可以以伪分布式模式运行.而当以分布式的方式运行在Cluster集群中时,底层的资源调度可以使用Mesos 或者是Hadoop Yarn ,也可以使用Spark自带的Standalone Deploy模式 Spark处于活跃的开发过程中,代码变动频繁,所以本文尽量不涉及具体的代码分析,仅从结构和流程的角度进行阐述. 运行模式列表 基本上,Spark的运行模式取决于传递给SparkContext的MASTER环境变量的值,个别模式还需要辅

3.spark运行模式

spark支持的运行模式:本地模式.本地集群模式.standalone模式.yarn模式及mesos模式. 本地模式 local.local[N]或local[N,maxRetries].主要用于代码调试和跟踪.不具备容错能力,不适用于生产环境. 本地模式只有Driver,没有Master和Worker.执行任务的Executor与Driver在同一个JVM进程中. 本地集群模式 local-cluster[N,cores,memory].也主要用于代码调试和测试,是源码学习常用的模式.不具备容

(2)spark运行模式

spark运行模式 下面我们来看一下spark的运行模式,根据上一篇博客我们知道spark的运行模式分为以下几种:local.standalone.hadoop yarn.我们说本地开发最好用local模式,直接搭建一个spark环境就可以跑了,因为测试的话本地是最方便的.standalone,用的比较少.hadoop yarn,这个是用的最多的,用spark的公司至少有70%是用yarn这个模式的.yarn是一个资源管理器,我们后面会说.下面我们就来讲解这几种运行模式. local运行模式 这