【问题标题】:Spark: how to set worker-specific SPARK_HOME in standalone modeSpark:如何在独立模式下设置特定于工作人员的 SPARK_HOME
【发布时间】:2014-06-24 21:16:26
【问题描述】:

我正在建立一个 [有点特别的] Spark 工作人员集群:即,我坐在那里的几台实验室机器。但是,当我尝试使用start-all.sh 启动集群时遇到了一个问题:即,Spark 安装在各个工作人员的不同目录中。但是master使用$SPARK_HOME的ma​​ster的定义在每个人上调用$SPARK_HOME/sbin/start-all.sh,即使每个worker的路径不同。

假设我无法将 Spark 安装在每个 worker 到 master 的相同路径上,我怎样才能让 master 识别不同的 worker 路径?

EDIT #1 嗯,找到了this thread in the Spark mailing list,强烈建议这是当前的实现——假设$SPARK_HOME 对所有工作人员都是一样的。

【问题讨论】:

  • 您介意看看我对这个邮件列表主题的回复吗?我有一个关于为每个工人配置不同的log4j.properties 的问题,我似乎无法克服。这不是我在现实中使用的,但对于四处游荡和了解正在发生的事情会有所帮助

标签: cluster-computing apache-spark


【解决方案1】:

我正在 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 来运行我的第二个工作人员。当我启动 spark-submit 时,我在 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 安装目录,但你也许可以解决这个问题

【讨论】:

    【解决方案2】:

    您可能需要考虑通过更改spark-env.sh 文件中的SPARK_WORKER_DIR 行来分配名称。

    【讨论】:

      猜你喜欢
      • 2013-06-14
      • 2014-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-27
      • 2017-12-28
      • 2020-08-15
      • 1970-01-01
      相关资源
      最近更新 更多