![](/img/trans.png)
[英]How multiple executors are managed on the worker nodes with a Spark standalone cluster?
[英]Spark: how to set worker-specific SPARK_HOME in standalone mode
我正在建立一个[有点临时]的Spark工人集群:即,我坐着几个实验室机器。 但是,当我尝试使用start-all.sh
启动集群时遇到了一个问题:即,Spark安装在各个工作程序的不同目录中。 但是,主$SPARK_HOME/sbin/start-all.sh
使用主服务器的 $SPARK_HOME
定义在每个$SPARK_HOME/sbin/start-all.sh
上调用$SPARK_HOME/sbin/start-all.sh
$SPARK_HOME
,即使每个工作$SPARK_HOME
的路径都不同。
假设我无法在每个工作服务器到主服务器的相同路径上安装Spark,我如何才能使主服务器识别不同的工作服务器路径?
编辑#1嗯, 在Spark邮件列表中找到了这个线程 ,强烈暗示这是当前的实现-假设$SPARK_HOME
对于所有工作$SPARK_HOME
都是相同的。
我正在Windows(我的笔记本电脑)上玩Spark,并通过使用包含以下内容的脚本手动启动它们来运行两个工作程序节点
set SPARK_HOME=C:\dev\programs\spark-1.2.0-worker1
set SPARK_MASTER_IP=master.brad.com
spark-class org.apache.spark.deploy.worker.Worker spark://master.brad.com:7077
然后,我使用另一个定义为运行第二个工作线程的SPARK_HOME创建此脚本的副本。 当我启动火花提交时,我在Worker_1
上Worker_1
15/02/13 16:42:10 INFO ExecutorRunner: Launch command: ...C:\dev\programs\spark-1.2.0-worker1\bin...
这在Worker_2
15/02/13 16:42:10 INFO ExecutorRunner: Launch command: ...C:\dev\programs\spark-1.2.0-worker2\bin...
这样就可以了,在我的情况下,我复制了spark安装目录,但是您也许可以解决这个问题
您可能要考虑通过改变分配名称SPARK_WORKER_DIR
线在spark-env.sh
文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.