在 AWS EC2 上添加新的 Spark worker - 访问错误

Adding new Spark workers on AWS EC2 - access error

我有使用 spark-ec2 脚本启动的现有 oeprating Spark 集群。我正在尝试按照说明添加新的从站:

虽然新实例被添加到同一个安全组并且我可以使用相同的私钥成功地 SSH 到它,spark-ec2 ... start调用由于某种原因无法访问这台机器:

Running setup-slave on all cluster nodes to mount filesystems, etc...

[1] 00:59:59 [FAILURE] xxx.compute.amazonaws.com

Exited with error code 255 Stderr: Permission denied (publickey).

,显然,在尝试在此实例上部署 Spark 时出现大量其他错误。

原因是 Spark Master 机器没有rsync访问这个新从机的权限,但是 22 端口是打开的...

问题是在 Spark Master 上生成的 SSH 密钥没有传输到这个新的从站。带有 start 命令的 Spark-ec2 脚本省略了这一步。解决方案是使用带有 --resume 选项的 launch 命令。然后 SSH 密钥被转移到新的从站,一切顺利。

另一种解决方案是将主人的 public 密钥 (~/.ssh/id_rsa.pub) 添加到新添加的奴隶 ~/.ssh/authorized_keys。 (在 Spark 邮件列表上得到这个建议)