《Spark数据分析:基于Python语言 》 —3.1.3 Spark主进程与集群管理器

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

3.1.3 Spark主进程与集群管理器

Spark驱动器进程对运行Spark应用所需的任务集进行规划和协调。任务本身则在执行器中运行,而执行器运行在工作节点上。

执行器利用分布式集群的资源运行,在YARN或者Mesos模式下,这些运行执行器的资源被称为容器。主进程与集群管理器是对分布式集群的资源进行监控、占用以及分配的核心进程。主进程和集群管理器可以是分开的进程,有时也可以合在一个进程里,比如以独立集群模式运行Spark时。

1.Spark主进程

Spark主进程是向集群申请资源,并把资源交给Spark驱动器的进程。在各种部署模式中,主进程都向工作节点(从节点)请求资源(容器),并跟踪它们的状态,监控执行进度。

当以独立集群模式运行Spark时,Spark主进程在主节点的8080端口上提供了一个网页版的用户界面,如图3.6所示。

Spark主进程与Spark驱动器进程

驱动器和主进程的运行时功能需要重点区分。主进程这个叫法可能会让人以为这是管理应用执行的进程,然而并非如此。主进程只是请求资源,并把资源交给驱动器进程。尽管主进程还会监控这些资源的健康状态,但它并不会参与应用的执行以及应用内任务和阶段间的协调。这些是驱动器进程的工作。

 image.png

图3.6 Spark主进程用户界面

2.集群管理器

集群管理器是负责监控工作节点并在主进程请求时在工作节点上预留资源,然后主进程就把这些集群资源以执行器的形式交给驱动器进程使用。

如前所述,集群管理器可以独立于主进程。在Mesos或者YARN上运行Spark就是这样。如果以独立集群模式运行Spark,那么主进程也会提供集群管理器的功能。实际上就是主进程充当了自己的集群管理器。

我们以在Hadoop集群上运行Spark应用时YARN的ResourceManager为例来介绍集群管理器。ResourceManager调度和分配YARN的NodeManager内运行的容器,并监控容器的健康状态。Spark应用使用这些容器来托管执行器进程,如果应用以集群模式运行,那么主进程也会运行在容器中。稍后再详细介绍这一点。


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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