Spark - 如何在本地 运行 独立集群

Spark - How to run a standalone cluster locally

是否有可能 运行 Spark 独立集群 在本地仅在一台机器上(这与仅在本地开发作业基本不同(即 local[*]))?.

到目前为止,我正在 运行使用 2 个不同的虚拟机来构建一个集群,如果我可以 运行 在同一台机器上创建一个独立的集群,例如 三个不同的 JVM 运行ning?

有多个环回地址之类的方法可以解决问题吗?

是的,你可以做到,启动一个主节点和一个工作节点,你就可以开始了

启动大师

./sbin/start-master.sh

发射工人

./bin/spark-class org.apache.spark.deploy.worker.Worker  spark://localhost:7077 -c 1 -m 512M

运行 SparkPi 示例

./bin/spark-submit  --class org.apache.spark.examples.SparkPi   --master spark://localhost:7077  lib/spark-examples-1.2.1-hadoop2.4.0.jar 

Apache Spark Standalone Mode Documentation

关于最新版本(2.1.0)的一个小更新,默认是将 master 绑定到主机名,因此在本地启动 worker 时使用输出共 hostname 个:

./bin/spark-class org.apache.spark.deploy.worker.Worker  spark://`hostname`:7077 -c 1 -m 512M

并以运行为例,只需运行以下命令:

bin/run-example SparkPi

如果你在你的机器上找不到./sbin/start-master.sh文件,你也可以用

启动master
./bin/spark-class org.apache.spark.deploy.master.Master

更简单地说,

./sbin/start-all.sh

在您的本地计算机上将启动 master 和一个 worker。

./bin/spark-submit  \
--class org.apache.spark.examples.SparkPi   \
--master spark://localhost:7077  \
examples/jars/spark-examples_2.12-3.0.1.jar 10000

示例应用程序已提交。通过 Web 监控 UI:

Master UI:      http://localhost:8080
Worker UI:      http://localhost:8081
Application UI: http://localhost:4040