如何将特定于应用程序的配置传递给Spark工作人员?

时间:2014-05-16 13:15:50

标签: apache-spark

我有一个使用许多工作人员的Spark应用程序。我希望能够轻松地将简单的配置信息传递给它们(无需重新编译):例如USE_ALGO_A。如果这是一个本地应用程序,我只需在环境变量中设置信息,然后阅读它们。我尝试使用spark-env.sh做类似的事情,但变量似乎没有正确传播。

如何在工作人员中对代码进行简单的运行时配置?

(PS我正在运行spark-ec2类型群集)

1 个答案:

答案 0 :(得分:0)

您需要注意配置每个工作人员。

来自Spark文档: 您可以在每台计算机上编辑/root/spark/conf/spark-env.sh以设置Spark配置选项,例如JVM选项。需要将此文件复制到每台计算机以反映更改。

如果您使用的是Amazon EC2群集,则会有一个脚本,RSYNC是主服务器和所有工作人员之间的目录。

最简单的方法是使用我们提供的名为copy-dir的脚本。首先编辑主文件上的spark-env.sh文件,然后运行~/spark-ec2/copy-dir /root/spark/conf以将其RSYNC给所有工作人员。

请参阅https://spark.apache.org/docs/latest/ec2-scripts.html