《Spark数据分析:基于Python语言 》 —3.1.2 Spark工作节点与执行器

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

3.1.2 Spark工作节点与执行器

Spark执行器是运行Spark的DAG中的任务的进程。执行器会占用Spark集群的从节点(工作节点)上的CPU和内存资源。每个执行器都是特定的Spark应用专用的,当应用完成时退出。一个Spark程序通常有多个执行器并行工作。

执行器运行在工作节点上,而每个工作节点在同一时间内能启动的执行器数量是有限/额定的。因此,对于一个规模固定的集群来说,同一时间能启动的执行器数量也是有限的。如果一个应用请求了超过集群剩余物理容量的执行器数量,就需要等待已启动的执行器完成并释放资源。

本章已经介绍过,Spark执行器运行在JVM上。每个执行器所使用的JVM都有一个堆(heap),是用来存储和管理对象的专用的内存空间。

各个执行器的JVM堆的内存大小可以通过spark.executor.memory属性设置,也可以通过pyspark、spark-shell或spark-submit的--executor-memory参数设置。

执行器把任务的输出数据存储在内存或硬盘里。需要注意的是,工作节点和执行器只负责执行分配给它们的任务,而应用是由所有任务的集合和它们之间的依赖关系组成的,这部分由驱动器进程负责理解。

通过访问4040端口上的Spark应用用户界面,用户可以查看应用的所有执行器,如图3.4所示。

 image.png

图3.4 Spark应用用户界面的执行器标签页

对于Spark独立集群的部署方式来说,工作节点会在端口8081上提供用户界面,如图3.5所示。

 image.png

图3.5 Spark工作节点用户界面


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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