spark(yarn模式)工作流程

Posted 迪答

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark(yarn模式)工作流程相关的知识,希望对你有一定的参考价值。


spark是继hadoop框架之后第二个主力框架,spark的出现解决了hadoop框架中MapReduce计算速度慢的问题。对于数据的存储还是依靠hadoop中的HDFS。spark通过基于内存和支持迭代计算极大的提高了数据的处理运算速度。

spark有三种部署模式




1.local模式:是运行在一台计算机上的,通常是用来做测试;


2.standalone模式:这个模式是spark自带资源调度引擎,构建成master+wordker的spark集群,这是由于该框架开发时,hadoop还有发布2.x版本,并没有yarn(资源调度),所以自己开发带有了资源调度的功能,但是由于该模式对集群的性能要求太高,在生产中使用相对较少;


3.使用yarn(模式),该模式下是使用hadoop带有资源调度yarn来运行spark程序;


Spark设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算。为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARNApache Mesos,以及Spark自带的一个简易调度器,叫作独立调度器

spark(yarn模式)工作流程

yarn模式的工作流程


yarn模式中有两种运行提交任务的方式,yarnclient运行模式和yarncluster运行模式,两者最主要的区别在于driver的运行节点的不同。


yarn-client:driver程序运行在客户端,适用于交互,调试,希望立即看到程序的运行的结果;

yarn-cluster:driver程序运行在ResourceManager启动的APPMaster,在生产环境中使用;


client模式:提交程序

 bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.12-3.0.0.jar 10

工作流程:

spark(yarn模式)工作流程


在client模式下程序执行完后会直接在客户端显示执行的结果,可以直接看到。


cluster模式:提交程序

bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster ./examples/jars/spark-examples_2.12-3.0.0.jar 10


工作流程:

这种模式下需要登录yarn的web界面中查看执行情况;


两种模式下的图中RM(ResourceManager)和NodeManager分别是yarn中的两个角色,作用是管理调度资源(cpu和内存)及执行任务;


spark框架模块

Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。


Spark SQL:是Spark用来操作结构化数据的程序包。通过Spark SQL,我们可以使用 SQL或者Apache Hive版本的HQL来查询数据。Spark SQL支持多种数据源,比如Hive表、Parquet以及JSON等。


Spark Streaming:是Spark提供的对实时数据进行流式计算的组件。提供了用来操作数据流的API,并且与Spark Core中的 RDD API高度对应。


Spark MLlib:提供常见的机器学习功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据 导入等额外的支持功能。


Spark GraphX:主要用于图形并行计算和图挖掘系统的组件



附录

spark官网:http://spark.apache.org/


以上是关于spark(yarn模式)工作流程的主要内容,如果未能解决你的问题,请参考以下文章

Spark on Yarn 流程

9. spark源代码分析(基于yarn cluster模式)- Task执行,Reduce端读取shuffle数据文件

SparkSpark 的运行环境运行架构提交流程

Spark Standalone、YARN 和本地模式有啥区别?

Spark2x on yarn日志配置详解

10. spark源代码分析(基于yarn cluster模式)- 聊聊RDD和Depedency