在AWS EC2上添加新的Spark工作者 - 访问错误

Ole*_*ikh 3 amazon-ec2 apache-spark

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

  • 停止群集
  • 在AWS控制台上"在其中一个从属服务器上启动更多这样的服务"
  • 启动群集

虽然新实例已添加到同一安全组中,并且我可以使用相同的私钥成功SSH到它,但spark-ec2 ... start由于某种原因,调用无法访问此计算机:

在所有集群节点上运行setup-slave以挂载文件系统等...

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

退出错误代码255 Stderr:Permission denied(publickey).

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

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

Ole*_*ikh 6

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

另一种解决方案是将主服务器的公钥(〜/ .ssh/id_rsa.pub)添加到新添加的从服务器〜/ .ssh/authorized_keys.(在Spark邮件列表上有这个建议)