5

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

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

4

1 回答 1

18

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

我建议首先使用 Spark Standalone(作为提交 Spark 应用程序的最简单的选项)。Spark Standalone 包含在任何 Spark 安装中,并且在 Windows 上运行良好。问题是没有脚本可以启动和停止 Windows 操作系统的独立 Master 和 Workers(又名 slave)。您只需自己“编码”它们。

使用以下命令在 Windows 上启动一个独立的 Master:

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

请注意,在您启动独立 Master 后,您不会收到任何输入,但不要担心并前往http://localhost:8080/以查看 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 官方文档中的 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。

于 2017-06-08T14:22:25.267 回答