使用spark-submit向EC2集群提交申请

use*_*081 8 amazon-ec2 apache-spark

我是Spark的新手,我正试图在EC2上运行它.我通过使用spark-ec2启动Spark集群来关注spark网页上的教程.然后,我尝试使用spark-submit将应用程序提交到群集.该命令如下所示:

./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://ec2-54-88-9-74.compute-1.amazonaws.com:7077 --executor-memory 2G --total-executor-cores 1 ./examples/target/scala-2.10/spark-examples_2.10-1.0.0.jar 100

但是,我收到以下错误:

ERROR SparkDeploySchedulerBackend: Application has been killed. Reason: All masters are unresponsive! Giving up.

请让我知道如何解决它.谢谢.

jha*_*ldt 7

您正在看到此问题,因为您的spark-standalone群集的主节点无法打开TCP连接回驱动器(在您的计算机上).默认模式spark-submit客户端,它在提交它的机器上运行驱动程序.

spark-deploy中添加了一个新的集群模式,将作业提交给主服务器,然后在主服务器上运行,无需直接连接.不幸的是,独立模式不支持此模式.

您可以在此投票支持JIRA问题:https://issues.apache.org/jira/browse/SPARK-2260

可以通过SSH隧道连接,但延迟将是一个大问题,因为驱动程序将在您的计算机上本地运行.


Dan*_*pov 1

您是在本地计算机上执行该命令,还是在创建的 EC2 节点上执行该命令?如果您在本地执行此操作,请确保端口 7077 在安全设置中处于打开状态,因为默认情况下该端口对外部关闭。