《Spark数据分析:基于Python语言 》 —3.4 在YARN上运行Spark应用的部署模式

举报
华章计算机 发表于 2020/02/12 19:08:29 2020/02/12
【摘要】 本节书摘来自华章计算机《Spark数据分析:基于Python语言 》 一书中第3章,第3.4.1节,作者是[澳] 杰夫瑞·艾文(Jeffrey Aven) ,王道远 译。

3.4 在YARN上运行Spark应用的部署模式

向YARN集群提交Spark应用时有两种部署模式:客户端模式和集群模式。现在分别介绍它们。

3.4.1 客户端模式

在客户端模式中,驱动器进程在提交应用的客户端机器上运行。本质上,它是不受集群管理的:如果驱动器的主机发生故障,那么应用也就失败了。交互式shell会话(pyspark、spark-shell等)和非交互式应用提交(spark-submit)都支持客户端模式。程序清单3.2展示了如何以客户端部署模式启动pyspark会话。

程序清单3.2 YARN集群的客户端部署模式

 image.png

 image.png

图3.7是在YARN集群上以客户端模式运行Spark应用的示意图。

 image.png

图3.7 以YARN集群客户端模式运行的Spark应用

图3.7展示的步骤具体如下所述:

1)客户端把Spark应用提交到集群管理器(YARN的ResourceManager)上。驱动器进程、SparkSession对象和SparkContext对象都在客户端创建并运行。

2)ResourceManager为应用分配出一个ApplicationMaster(Spark的主进程)。

3)ApplicationMaster向ResourceManager请求容器,以作为执行器使用。当容器被分配出来时,对应的执行器就生成了。

4)驱动器进程位于客户端,它与执行器通信来安排Spark程序中任务和阶段的处理。驱动器进程把Spark应用的进度、结果以及状态返回给客户端。

客户端模式是最简单的部署模式。但是,这种模式缺乏大多数生产级应用所需的弹性。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。