美文网首页大数据开发
大数据开发:Spark三种部署运行模式简介

大数据开发:Spark三种部署运行模式简介

作者: 成都加米谷大数据 | 来源:发表于2021-05-27 17:55 被阅读0次

Spark框架,作为Hadoop之后的第二代主力框架,在大数据生态圈的地位,是得到肯定的。Spark框架在部署运行商,支持三种模式,对于初学者而言,常常搞不明白三种模式的区别。今天的大数据开发学习分享,我们就来讲讲Spark三种部署运行模式。

spark三种部署模式

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

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

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

从实际的应用场景来说,通过Yarn来进行调度还是占据主流的选择。

Yarn模式的工作流程

Yarn模式中有两种运行提交任务的方式,yarn-client运行模式和yarn-cluster运行模式,两者最主要的区别在于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

在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三种部署模式的区别

单机:

local[n]单机伪分布式模式,n个线程分别充当driver和Executors,由于driver和Executors处于同一个jvm,算子可以访问外部的变量。

集群:

standalone spark worker组成集群,Spark内置的集群搭建模式。适合于不太依赖Hadoop的运算环境,或者存储集群和计算集群分离的场景。

yarn运行与Hadoop Yarn集群之上。作业调度、资源调度由Yarn分配。Yarn在这方面做得比Spark standalone集群好,适用于存储计算合一,或者需要依赖MR、Hive等作业的场景。

部署模式:

client driver运行于执行spark-submit脚本的机器上。这机器不一定是集群的节点,你可以在Windows上运行driver,Linux集群运行Executors。cluster作业提交后,driver运行于集群上的某一个节点上,集群视其为一个Executor,相当于后台程序。

standalone和yarn都支持client/cluster两种模式。前者由--master参数控制,后者由deploy-mode参数控制。

关于大数据开发学习,Spark三种部署运行模式,以上就为大家做了大致的介绍了。Spark的搭建和部署,是初学入门阶段需要多去练习的,尤其是Yarn模式,需要多去练习掌握。

相关文章

网友评论

    本文标题:大数据开发:Spark三种部署运行模式简介

    本文链接:https://www.haomeiwen.com/subject/ptedsltx.html