这篇文章将为大家详细讲解有关如何解析Spark运行模式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
Spark运行模式
1 Spark的两个重要角色
1.1 简介
Spark是一种基于内存的快递、通用、可扩展的大数据分析引擎。
1.2 spark内置模块:
1.3 Spark的两个重要角色:
Driver(驱动器):负责管理调度任务
Executor(执行器):负责执行具体的任务
2 Spark运行模式
-
Local模式:运行在一台机器上,通常是练手或者测试环境。
-
Standalone:构建一个基于 Mster+Slaves 的资源调度集群,Spark 任务提交给 Master运行。是 Spark 自身的一个调度系统,不依赖Yarn等其他框架。
-
Yarn: Spark 客户端直接连接 Yarn,不需要额外构建 Spark 集群。有 yarn-client 和yarn-cluster 两种模式,主要区别在于:Driver 程序的运行节点。
-
yarn-client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出。
-
yarn-cluster:Driver程序运行在由RM(ResourceManager)启动的AP(APPMaster)适用于生产环境。
-
Mesos:国内大环境比较少用。
几种模式的对比:
3 Local模式(下的WordCount)
3.1 Spark-Wordcount基本思路
文件加载load:加载文件
扁平化:将句子分割成一个一个的单词;
分组:将相同的单词放到一个组里面;
聚合:统计每个组里成员的数量;
(上述过程是左图的简化过程,不太准确,按照下面的步骤来记忆;右图才是准确的过程)
3.2 Wordcount代码实现
相关方法说明:
TextFile:用于加载文件;
FlatMap:用于扁平化处理,单词切分;
Map:将每一个单词映射为元祖;
ReduceByKey:按照key进行分组聚合;
3.3 Wordcount过程图示
4 Yarn模式(重点)
4.1 概述
Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。
yarn-client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出
yarn-cluster:Driver程序运行在由RM(ResourceManager)启动的AP(APPMaster)适用于生产环境。
4.2 Yarn运行模式(重点)
要清晰知道每一步的过程。
两张图结合起来一起看
5 Standalone模式(独立部署模式)
就是只用spark自己的东西,不用Yarn等其他的框架。
5.1 概述
构建一个由Master+Slave构成的Spark集群,Spark运行在集群中。
5.2 Standalone模式
Master相当于Yarn中的RM;
Worker相当于Yarn中的NM;
关于如何解析Spark运行模式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/223275.html