如何在EC2上启动Spark 2.0

Fra*_* B. 10 amazon-ec2 amazon-web-services apache-spark

随着Spark 2.0的发布,他们已经删除了在AWS上启动Spark EC2集群的原生支持:

https://spark.apache.org/releases/spark-release-2-0-0.html#removals-behavior-changes-and-deprecations

Spark EC2脚本已完全移至UC Berkeley AMPLab托管的外部存储库

在AMPLab GitHub页面上,它包含以下说明:

https://github.com/amplab/spark-ec2/tree/branch-2.0#launching-a-cluster

进入您下载的Apache Spark发行版中的ec2目录.

问题是2.0下载中没有ec2文件夹.有谁知道如何在EC2中启动Spark 2.0集群?

提前致谢.

xv7*_*v70 8

最后的编辑

对于任何有这个问题的人来说,答案更简单:这里.

编辑2

我在第一次编辑后意识到它稍微复杂一点,所以这里有一个新的编辑,关于任何可能在将来发现它有用的人.

问题是Spark不再提供ec2目录作为官方发行版的一部分.如果您习惯于以这种方式启动独立群集,则这是一个问题.

解决方案很简单:

  1. 下载官方ec2目录,详见Spark 2.0.0文档.
  2. 如果您只是将dir复制到Spark 2.0.0并运行spark-ec2可执行文件来模仿Spark 1.*中的工作方式,您将能够像往常一样启动集群.但是当你进入它时,你会发现没有任何二进制文件了.
  3. 因此,一旦您启动集群(就像通常spark-ec2在步骤1中下载的那样),您将必须将rsync包含Spark 2.0.0的本地目录放入新创建的集群的主服务器中.完成后,您可以spark-submit像平常一样工作.

真的很简单,但在我看来,Spark文档可以为我们所有人的规范明确这一点.


编辑:这实际上是正确的做法.对于任何有相同问题的人:从Spark建议的AMPLab下载ec2目录,将此文件夹放在本地Spark-2.0.0目录中,并像往常一样启动脚本.显然,他们只是为了维护目的而将目录分离,但逻辑仍然是相同的.很高兴在Spark文档中有一些关于它的话.


我尝试了以下操作:将spark-ec2-branch-1.6目录从AMPLab链接克隆到我的spark-2.0.0目录中,并尝试使用通常的./ec2/spark-ec2命令启动集群.也许这就是他们想要我们做的事情?

我正在推出一个小型的16节点集群.我可以在AWS仪表板中看到它,但终端已经卡住打印过去常见的SSH错误...差不多两个小时.

Warning: SSH connection error. (This could be temporary.) Host: ec2-54-165-25-18.compute-1.amazonaws.com SSH return code: 255 SSH output: ssh: connect to host ec2-54-165-25-18.compute-1.amazonaws.com port 22: Connection refused

如果我发现有用的话会更新.


VBJ*_*VBJ 5

Amplab Spark-ec2不再根据他们的 github repo 页面进行维护。您可以在AWS EC2上使用flintrock创建Spark集群。