如何在Windows机器上为Spark应用程序设置集群环境?

时间:2017-06-08 13:49:48

标签: windows apache-spark mesos apache-spark-standalone

我一直在使用spark独立非群集模式在pyspark中开发。这些天,我想探讨更多关于spark的集群模式。我在互联网上搜索,发现我可能需要一个集群管理器来使用Apache Mesos或Spark Standalone在不同的机器上运行集群。但是,我无法轻易找到图片的细节。

我应该如何从系统设计的角度进行设置,以便在多个Windows机器(或多个Windows vms)中运行spark集群。

1 个答案:

答案 0 :(得分:12)

您可能希望探索(从最简单的)Spark Standalone,通过Hadoop YARN到Apache Mesos或DC / OS。请参阅virtual address space

我建议首先使用Spark Standalone(作为提交Spark应用程序的最简单选项)。 Spark Standalone包含在任何Spark安装中,并且可以在Windows上正常运行。问题是没有脚本可以启动和停止Windows操作系统的独立Master和Workers(也称为奴隶)。你只需要"代码"他们自己。

使用以下命令在Windows上启动独立主服务器:

// terminal 1
bin\spark-class org.apache.spark.deploy.master.Master

请注意,在您启动独立主服务器后,您将无法获得任何输入,但请不要担心并转到Cluster Mode Overview以查看Spark Standalone群集的Web UI。

在单独的终端中启动独立Worker的实例。

// terminal 2
bin\spark-class org.apache.spark.deploy.worker.Worker spark://localhost:7077

使用单工作Spark Standalone群集,您应该能够按如下方式提交Spark应用程序:

spark-submit --master spark://localhost:7077 ...

阅读Spark官方文档中的http://localhost:8080/

正如我刚刚发现Mesos不是一个选项Spark Standalone Mode

  

Mesos在Linux(64位)和Mac OS X(64位)上运行。

但是,您可以使用VirtualBox或类似工具使用虚拟机运行任何群集。至少DC / OS有System Requirements,这应该很容易:

  

dcos-vagrant 在本地计算机上快速配置DC / OS群集以进行开发,测试或演示。

     

部署DC / OS Vagrant涉及使用dcos-vagrant-box基本映像创建VirtualBox VM的本地群集,然后安装DC / OS。