我是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.
请让我知道如何解决它.谢谢.
您正在看到此问题,因为您的spark-standalone群集的主节点无法打开TCP连接回驱动器(在您的计算机上).默认模式spark-submit
是客户端,它在提交它的机器上运行驱动程序.
spark-deploy中添加了一个新的集群模式,将作业提交给主服务器,然后在主服务器上运行,无需直接连接.不幸的是,独立模式不支持此模式.
您可以在此投票支持JIRA问题:https://issues.apache.org/jira/browse/SPARK-2260
可以通过SSH隧道连接,但延迟将是一个大问题,因为驱动程序将在您的计算机上本地运行.