【发布时间】:2016-05-14 12:11:24
【问题描述】:
我想为我知道其所有 IP 的 Amazon EC2 实例运行我的 spark 任务。
我想让一台计算机作为主机,另外三台可以运行工作节点..有人可以帮我如何为这个任务配置 spark..应该是独立的吗?我知道如何设置主节点使用
setMaster("SPARK://masterIP:7070");
但是如何定义工作节点并将它们分配给上面的主节点呢?
【问题讨论】:
标签: apache-spark
我想为我知道其所有 IP 的 Amazon EC2 实例运行我的 spark 任务。
我想让一台计算机作为主机,另外三台可以运行工作节点..有人可以帮我如何为这个任务配置 spark..应该是独立的吗?我知道如何设置主节点使用
setMaster("SPARK://masterIP:7070");
但是如何定义工作节点并将它们分配给上面的主节点呢?
【问题讨论】:
标签: apache-spark
如果您要配置 spark 集群 手动,您可以通过执行以下命令来启动独立的主服务器:
./sbin/start-master.sh
一旦启动,master 将为自己打印出一个 spark://HOST:PORT URL,您可以使用它来连接 worker 到它,或者作为“master”参数传递给 SparkContext .你也可以在master的web UI上找到这个URL,默认是http://localhost:8080。
添加工人:
现在您可以启动一个或多个 worker 并通过以下方式将它们连接到 master:
./sbin/start-slave.sh
一旦你启动了一个 worker,查看 master 的 web UI(默认为http://localhost:8080)。您应该会在此处看到列出的新节点,以及它的 CPU 和内存数量(减去操作系统剩余的 1 GB)。
更多信息可以查看spark网站starting-a-cluster-manually
编辑
从 MASTER 运行工人
要使用启动脚本启动 Spark 独立集群,您应该在 Spark 目录中创建一个名为 conf/slaves 的文件,该文件必须包含所有机器的主机名 您打算在哪里启动 Spark 工作人员,每行一个。注意,master 机器通过 ssh 访问每个 worker 机器(master 和 worker 机器之间应该有 passwordless ssh)。
配置 conf/slaves 文件后,你应该运行两个文件:
sbin/start-master.sh - 在机器上启动一个主实例 脚本被执行。
sbin/start-slaves.sh - 在每台机器上启动一个从属实例 在 conf/slaves 文件中指定。
更多信息请查看Cluster Launch Scripts
【讨论】: