Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 独立群集中Spark应用程序的Spark驱动程序节点和工作节点_Scala_Apache Spark - Fatal编程技术网

Scala 独立群集中Spark应用程序的Spark驱动程序节点和工作节点

Scala 独立群集中Spark应用程序的Spark驱动程序节点和工作节点,scala,apache-spark,Scala,Apache Spark,我想了解在提交Spark应用程序时,哪个节点将作为驱动节点,哪个节点将作为工作节点 例如,如果我有3个节点的独立集群 提交spark first应用程序(app1)时,spark framework将随机选择其中一个节点作为驱动节点,其他节点作为工作节点。这仅适用于app1。在执行过程中,如果提交了另一个spark应用程序(app2),spark可以随机选择一个节点作为驱动节点,其他节点作为工作节点。这仅适用于app2。因此,当两个spark应用程序都在执行时,可能会出现两个不同的节点可以成为主

我想了解在提交Spark应用程序时,哪个节点将作为驱动节点,哪个节点将作为工作节点

例如,如果我有3个节点的独立集群


提交spark first应用程序(app1)时,spark framework将随机选择其中一个节点作为驱动节点,其他节点作为工作节点。这仅适用于app1。在执行过程中,如果提交了另一个spark应用程序(app2),spark可以随机选择一个节点作为驱动节点,其他节点作为工作节点。这仅适用于app2。因此,当两个spark应用程序都在执行时,可能会出现两个不同的节点可以成为主节点的情况。如果有误解,请纠正我。

你的思路是对的。Spark有一个用于计算的工作节点的概念。每个这样的工作进程可以有N个执行进程在其上运行。如果Spark指定一个驱动程序在任意工作程序上运行,这并不意味着该工作程序不能运行运行计算的其他执行程序进程


例如,Spark不选择主节点。主节点在环境中是固定的。它所选择的是在哪里运行驱动程序,也就是
SparkContext
在应用程序的整个生命周期中的生存位置。基本上,如果您交换Master和Driver,您的答案是正确的。

仅供大家参考,文档确实将驱动程序称为spark应用程序的“主节点”。本文中的“主控”与“火花主控”无关。