Apache spark 主节点是否在Spark中执行实际任务?

Apache spark 主节点是否在Spark中执行实际任务?,apache-spark,Apache Spark,我的问题听起来可能很傻,但它困扰了我很长时间 上图是分布式Spark应用程序的组件。我认为这张图片表明,主节点永远不会执行实际任务,而只是充当集群管理器。这是真的吗 顺便说一下,这里的任务是指用户提交任务。是的,主节点执行驱动程序进程,而不运行任务。任务在工作节点上的执行器进程中运行。从CPU的角度来看,主节点很少受到压力,但根据广播变量、累加器和收集的使用方式,它在RAM使用方面可能会受到相当大的压力。要进一步解释不同的角色: 驱动程序准备上下文,并使用RDD转换和操作声明对数据的操作 驱动

我的问题听起来可能很傻,但它困扰了我很长时间

上图是分布式Spark应用程序的组件。我认为这张图片表明,主节点永远不会执行实际任务,而只是充当集群管理器。这是真的吗


顺便说一下,这里的任务是指用户提交任务。

是的,主节点执行驱动程序进程,而不运行任务。任务在工作节点上的执行器进程中运行。从CPU的角度来看,主节点很少受到压力,但根据广播变量、累加器和收集的使用方式,它在RAM使用方面可能会受到相当大的压力。

要进一步解释不同的角色:

驱动程序准备上下文,并使用RDD转换和操作声明对数据的操作

驱动程序将序列化的RDD图提交给主机。主控器从中创建任务并将其提交给工作人员执行。它协调不同的工作阶段


工人是实际执行任务的地方。他们应该拥有执行RDD上请求的操作所需的资源和网络连接。

是的,确实如此。其实这张照片不是很好。最好像这里所示的那样考虑这个问题:在这种情况下,我们应该使用更好的配置机器作为主机吗?通常是的。详细信息取决于群集管理器和环境,但通常您希望它至少被复制。