主页 > 新闻资讯 > 大数据学习:Spark的几种部署方式

大数据学习:Spark的几种部署方式

作者:张老师 浏览次数: 2021-01-29 17:46
作为大数据的第二代代表性框架,Spark在大数据生态圈的地位,不必特意强调,大家也能看得清楚。Spark在学习初期,进行部署配置是非常关键的一个环节,今天的大数据学习分享,我们就主要来讲讲Spark的几种部署方式。

大数据学习:Spark的几种部署方式

Spark支持三种集群管理器

通常来说,Spark支持3种集群管理器(Cluster Manager),分别为:

1.Standalone:独立模式,Spark原生的简单集群管理器,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统,使用Standalone可以很方便地搭建一个集群;

2.Apache Mesos:一个强大的分布式资源管理框架,它允许多种不同的框架部署在其上,包括yarn;

3.Hadoop YARN:统一的资源管理机制,在上面可以运行多套计算框架,如map reduce、storm等,根据driver在集群中的位置不同,分为yarn client和yarn cluster。

实际上,除了上述这些通用的集群管理器外,Spark内部也提供了一些方便用户测试和学习的简单集群部署模式。由于在实际工作环境下使用的绝大多数的集群管理器是Hadoop YARN,因此我们关注的重点是Hadoop YARN模式下的Spark集群部署。

Spark的运行模式取决于传递给SparkContext的MASTER环境变量的值,个别模式还需要辅助的程序接口来配合使用,目前支持的Master字符串及URL包括:

大数据学习:Spark的几种部署方式

–master MASTER_URL:决定了Spark任务提交给哪种集群处理。

–deploy-mode DEPLOY_MODE:决定了Driver的运行方式,可选值为Client或者Cluster。

Spark on Yarn作业提交流程

YARN Client模式

在YARN Client模式下,Driver在任务提交的本地机器上运行,Driver启动后会和ResourceManager通讯申请启动ApplicationMaster,随后ResourceManager分配container,在合适的NodeManager上启动ApplicationMaster,此时的ApplicationMaster的功能相当于一个ExecutorLaucher,只负责向ResourceManager申请Executor内存。

ResourceManager接到ApplicationMaster的资源申请后会分配container,然后ApplicationMaster在资源分配指定的NodeManager上启动Executor进程,Executor进程启动后会向Driver反向注册,Executor全部注册完成后Driver开始执行main函数,之后执行到Action算子时,触发一个job,并根据宽依赖开始划分stage,每个stage生成对应的taskSet,之后将task分发到各个Executor上执行。

YARN Cluster模式

在YARN Cluster模式下,任务提交后会和ResourceManager通讯申请启动ApplicationMaster,随后ResourceManager分配container,在合适的NodeManager上启动ApplicationMaster,此时的ApplicationMaster就是Driver。

Driver启动后向ResourceManager申请Executor内存,ResourceManager接到ApplicationMaster的资源申请后会分配container,然后在合适的NodeManager上启动Executor进程,Executor进程启动后会向Driver反向注册,Executor全部注册完成后Driver开始执行main函数,之后执行到Action算子时,触发一个job,并根据宽依赖开始划分stage,每个stage生成对应的taskSet,之后将task分发到各个Executor上执行。

关于大数据学习,Spark的几种部署方式,部署之后的运行,以上就为大家做了简单的介绍了。在大数据学习当中,Spark是需要重点攻克的一个框架,围绕Spark的生态圈,需要学习的内容还有很多。成都加米谷大数据,专业大数据培训机构,大数据开发,数据分析与挖掘,零基础班本月正在招生中,课程大纲及学习视频,可联系客服领取!
热点排行
推荐文章
立即申请>>