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

Yoh*_*ung 3 windows mesos apache-spark apache-spark-standalone

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

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

Jac*_*ski 15

您可能希望探索(从最简单的)Spark Standalone,通过Hadoop YARN到Apache Mesos或DC/OS.请参阅群集模式概述.

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

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

// terminal 1
bin\spark-class org.apache.spark.deploy.master.Master
Run Code Online (Sandbox Code Playgroud)

请注意,在启动独立主服务器后,您没有输入,但不要担心,并转到http:// localhost:8080 /以查看Spark Standalone群集的Web UI.

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

// terminal 2
bin\spark-class org.apache.spark.deploy.worker.Worker spark://localhost:7077
Run Code Online (Sandbox Code Playgroud)

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

spark-submit --master spark://localhost:7077 ...
Run Code Online (Sandbox Code Playgroud)

Spark的官方文档中阅读Spark Standalone Mode.


正如我刚刚发现Mesos不是一个选项,因为它的系统要求:

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

但是,您可以使用VirtualBox或类似工具使用虚拟机运行任何群集.至少DC/OS有dcos-vagrant,它应该很容易:

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

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