首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
2021年大数据Spark(一):框架概述
2
2021年大数据Spark(二):四大特点
3
2021年大数据Spark(三):框架模块初步了解
4
2021年大数据Spark(四):三种常见的运行模式
5
2021年大数据Spark(五):大环境搭建本地模式 Local
6
2021年大数据Spark(六):环境搭建集群模式 Standalone
7
2021年大数据Spark(七):应用架构基本了解
8
2021年大数据Spark(八):环境搭建集群模式 Standalone HA
9
2021年大数据Spark(九):Spark On Yarn两种模式总结
10
2021年大数据Spark(十):环境搭建集群模式 Spark on YARN
11
2021年大数据Spark(十一):应用开发基于IDEA集成环境
12
2021年大数据Spark(十二):Spark Core的RDD详解
13
2021年大数据Spark(十三):Spark Core的RDD创建
14
2021年大数据Spark(十四):Spark Core的RDD操作
15
2021年大数据Spark(十五):Spark Core的RDD常用算子
16
2021年大数据Spark(十六):Spark Core的RDD算子练习
17
2021年大数据Spark(十七):Spark Core的RDD持久化
18
2021年大数据Spark(十八):Spark Core的RDD Checkpoint
19
2021年大数据Spark(十九):Spark Core的​​​​​​​共享变量
20
2021年大数据Spark(二十):Spark Core外部数据源引入
21
2021年大数据Spark(二十一):Spark Core案例-SogouQ日志分析
22
2021年大数据Spark(二十二):内核原理
23
2021年大数据Spark(二十三):SparkSQL 概述
24
2021年大数据Spark(二十四):SparkSQL数据抽象
25
2021年大数据Spark(二十五):SparkSQL的RDD、DF、DS相关操作
26
2021年大数据Spark(二十六):SparkSQL数据处理分析
27
2021年大数据Spark(二十七):SparkSQL案例一花式查询和案例二WordCount
28
2021年大数据Spark(二十八):SparkSQL案例三电影评分数据分析
29
2021年大数据Spark(二十九):SparkSQL案例四开窗函数
30
2021年大数据Spark(三十):SparkSQL自定义UDF函数
31
2021年大数据Spark(三十一):Spark On Hive
32
2021年大数据Spark(三十二):SparkSQL的External DataSource
33
2021年大数据Spark(三十三):SparkSQL分布式SQL引擎
34
2021年大数据Spark(三十四):Spark Streaming概述
35
2021年大数据Spark(三十五):SparkStreaming数据抽象 DStream
36
2021年大数据Spark(三十六):SparkStreaming实战案例一 WordCount
37
2021年大数据Spark(三十七):SparkStreaming实战案例二 UpdateStateByKey
38
2021年大数据Spark(三十八):SparkStreaming实战案例三 状态恢复 扩展
39
2021年大数据Spark(三十九):SparkStreaming实战案例四 窗口函数
40
2021年大数据Spark(四十):SparkStreaming实战案例五 TopN-transform
41
2021年大数据Spark(四十一):SparkStreaming实战案例六 自定义输出 foreachRDD
42
2021年大数据Spark(四十二):SparkStreaming的Kafka快速回顾与整合说明
43
2021年大数据Spark(四十三):SparkStreaming整合Kafka 0.10 开发使用
44
2021年大数据Spark(四十四):Structured Streaming概述
45
2021年大数据Spark(四十五):Structured Streaming Sources 输入源
46
2021年大数据Spark(四十六):Structured Streaming Operations 操作
47
2021年大数据Spark(四十七):Structured Streaming Sink 输出
48
2021年大数据Spark(四十八):Structured Streaming 输出终端/位置
49
2021年大数据Spark(四十九):Structured Streaming 整合 Kafka
50
2021年大数据Spark(五十):Structured Streaming 案例一实时数据ETL架构

2021年大数据Spark(九):Spark On Yarn两种模式总结


Spark On Yarn两种模式

引入

一、当一个MR应用提交运行到Hadoop YARN上时

包含两个部分:应用管理者AppMaster和运行应用进程Process(如MapReduce程序MapTask和ReduceTask任务),如下图所示:

二、当一个Spark应用提交运行在集群上时

应用架构有两部分组成:Driver Program(资源申请和调度Job执行)和Executors(运行Job中Task任务和缓存数据),都是JVM Process进程:

而Driver程序运行的位置可以通过--deploy-mode 来指定,

值可以是:

1.client:表示Driver运行在提交应用的Client上(默认)

2.cluster:表示Driver运行在集群中(Standalone:Worker,YARN:NodeManager)

补充Driver是什么:

The process running the main() function of the application and creating the SparkContext

运行应用程序的main()函数并创建SparkContext的进程

注意

cluster和client模式最最本质的区别是:Driver程序运行在哪里

企业实际生产环境中使用cluster

client 模式

DeployMode为Client,表示应用Driver Program运行在提交应用Client主机上,示意图如下:

   运行圆周率PI程序,采用client模式,命令如下:

代码语言:javascript
复制
SPARK_HOME=/export/server/spark

${SPARK_HOME}/bin/spark-submit \

--master yarn  \

--deploy-mode client \

--driver-memory 512m \

--executor-memory 512m \

--num-executors 1 \

--total-executor-cores 2 \

--class org.apache.spark.examples.SparkPi \

${SPARK_HOME}/examples/jars/spark-examples_2.11-2.4.5.jar \

10

http://node1:8088/cluster

cluster 模式

DeployMode为Cluster,表示应用Driver Program运行在集群从节点某台机器上,示意图如下:

运行圆周率PI程序,采用cluster模式,命令如下:

代码语言:javascript
复制
SPARK_HOME=/export/server/spark

${SPARK_HOME}/bin/spark-submit \

--master yarn \

--deploy-mode cluster \

--driver-memory 512m \

--executor-memory 512m \

--num-executors 1 \

--total-executor-cores 2 \

--class org.apache.spark.examples.SparkPi \

${SPARK_HOME}/examples/jars/spark-examples_2.11-2.4.5.jar \

10

http://node1:8088/cluster

总结

Client模式和Cluster模式最最本质的区别是:Driver程序运行在哪里。

- Client模式:学习测试时使用,开发不用,了解即可

  1.Driver运行在Client上,和集群的通信成本高

  2.Driver输出结果会在客户端显示

- Cluster模式:生产环境中使用该模式

  1.Driver程序在YARN集群中,和集群的通信成本低

  2.Driver输出结果不能在客户端显示

  3.该模式下Driver运行ApplicattionMaster这个节点上,由Yarn管理,如果出现问题,yarn会重启ApplicattionMaster(Driver)

下一篇
举报
领券