【发布时间】:2023-03-12 19:35:01
【问题描述】:
我无法弄清楚 Spark 驱动程序和应用程序主控之间有什么区别。基本上是运行应用程序的职责,谁来做什么?
在客户端模式下,客户端计算机在其中一个集群节点中运行驱动程序和应用程序主节点。在集群模式下,客户端没有任何,驱动程序和应用程序主运行在同一个节点(集群节点之一)。
driver和app master具体做了哪些操作?
参考资料:
【问题讨论】:
标签: apache-spark hadoop hadoop-yarn
我无法弄清楚 Spark 驱动程序和应用程序主控之间有什么区别。基本上是运行应用程序的职责,谁来做什么?
在客户端模式下,客户端计算机在其中一个集群节点中运行驱动程序和应用程序主节点。在集群模式下,客户端没有任何,驱动程序和应用程序主运行在同一个节点(集群节点之一)。
driver和app master具体做了哪些操作?
参考资料:
【问题讨论】:
标签: apache-spark hadoop hadoop-yarn
根据火花文档
火花驱动器:
驱动程序(又名驱动程序)负责转换用户 应用于称为任务的较小执行单元,然后调度 它们与执行器上的集群管理器一起运行。司机也是 负责执行 Spark 应用程序并返回 使用状态/结果r.
Spark Driver 包含各种组件——DAGScheduler, TaskScheduler、BackendScheduler 和 BlockManager。他们有责任 用于将用户代码转换为实际执行的 Spark 作业 集群。
Application Master 在哪里
Application Master 负责执行单个 应用。 它从资源调度器请求容器 (资源管理器)并在获得的容器上执行特定程序。 Application Master 只是一个代理,它与资源管理器协商资源,然后在获得一些容器后确保在容器上启动任务(从调度程序队列中挑选)。
简而言之,驱动程序会将您的自定义逻辑转换为阶段、作业和任务。您的应用程序主控将确保从 RM 获得足够的资源,并确保检查您在容器中运行的任务的状态。
正如您在提供的参考资料中已经说过的,客户端和集群模式之间的唯一区别是
在客户端,模式 driver 将在我们执行/运行 spark 应用程序/作业的机器上运行,并且 AM 在集群节点之一中运行。
(与)
在集群模式下,驱动程序运行在应用程序主控中,这意味着应用程序有更多的责任。
参考资料:
https://luminousmen.com/post/spark-anatomy-of-spark-application#:~:text=The%20Driver(aka%20driver%20program,status%2Fresults%20to%20the%20user.
https://www.edureka.co/community/1043/difference-between-application-master-application-manager#:~:text=The%20Application%20Master%20is%20responsible,class)%20on%20the%20obtained%20containers。
【讨论】: