我编写了一个example.jar
使用火花上下文的程序。如何在使用 Slurm 的集群上运行它?这与https://stackoverflow.com/questions/29308202/running-spark-on-top-of-slurm有关,但答案不是很详细,也不是关于 serverfault。
我编写了一个example.jar
使用火花上下文的程序。如何在使用 Slurm 的集群上运行它?这与https://stackoverflow.com/questions/29308202/running-spark-on-top-of-slurm有关,但答案不是很详细,也不是关于 serverfault。
为了使用 spark 上下文运行应用程序,首先需要运行一个 Slurm 作业,该作业启动一个 master 和一些 worker。使用 Slurm 时需要注意一些事项:
我正在使用安装到
$HOME/spark-1.5.2-bin-hadoop2.6/
. 请记住用脚本中的一些有效值替换<username>
和。<shared folder>
现在开始 sbatch 作业,然后
example.jar
:正如maxmlnkn 回答所述,您需要一种机制来在 Slurm 分配中设置/启动适当的 Spark 守护程序,然后才能通过 spark-submit 执行 Spark jar。
已经开发了几个为您进行此设置的脚本/系统。您在上面链接的答案提到了 Magpie @ https://github.com/LLNL/magpie(完全披露:我是这些脚本的开发者/维护者)。Magpie 提供了一个作业提交文件 (submission-scripts/script-sbatch-srun/magpie.sbatch-srun-spark) 供您编辑并放入您的集群细节和作业脚本以执行。配置完成后,您将通过 'sbatch -k ./magpie.sbatch-srun-spark' 提交此文件)。有关更多详细信息,请参阅 doc/README.spark。
我会提到还有其他脚本/系统可以为您执行此操作。我缺乏与他们的经验,所以除了在下面链接它们之外无法发表评论。
https://github.com/glennklockwood/myhadoop
https://github.com/hpcugent/hanythingondemand