2016-07-30 53 views
0

我的问题可能听起来很愚蠢,但它困扰了我很长一段时间。主节点在Spark中执行实际任务吗?

enter image description here

上面显示的图象是一个分布式火花应用程序的组件。我认为这张图片表示主节点将永远不会执行实际任务,但只能作为群集管理器。这是真的吗?

顺便说一句,在tasks这里是指用户提交任务。

+0

是的,这是真的。其实这张照片不是很好。最好考虑一下,如下所示:https://spark.apache.org/docs/latest/img/cluster-overview.png – zero323

+0

在这种情况下,我们应该使用更好的配置机器作为主机吗? – chenzhongpu

+0

一般来说是。细节取决于集群管理器和环境,但通常您希望它至少能够被复制。 – zero323

回答

2

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

0

要解释一点上不同的角色:

司机准备的背景和声明使用RDD的转换和操作数据的操作。

驾驶员提交到主串行化RDD曲线图。大师创建任务并将其提交给工作人员执行。它协调不同的工作阶段。

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