【问题标题】:Spark EC2 SSH connection error SSH return code 255Spark EC2 SSH 连接错误 SSH 返回码 255
【发布时间】:2016-07-24 01:42:38
【问题描述】:

每次我尝试通过 Spark ec2/spark_ec2.py 文件在 AWS 上启动 Spark 集群时,都会收到一个 SSH 连接错误,最终会得到解决,但会浪费大量时间。

在您将其标记为重复之前,我知道有很多类似的问题被问到,但有两个主要区别:a) 我的连接总是(最终)完成,我最终得到一个健康的 Spark 集群和 b) 其他问题的“答案”通常围绕以前的 Spark 版本(例如,1.2、1.3 等)。从 12 个月前的 1.3 到今天的 1.6.1,我一直遇到这个问题。

提前致谢!

终端输出:

Launched master in us-east-1e, regid = r-a1b2c3d4
Waiting for AWS to propagate instance metadata...
Waiting for cluster to enter 'ssh-ready' state...........

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

.

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

.

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

.

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

.

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

.

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

.

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

.
Cluster is now in 'ssh-ready' state. Waited 833 seconds.
Generating cluster's SSH key on master...

【问题讨论】:

  • 如果有人可以提供帮助,仍然会遇到同样的问题:
  • 暂时不要关闭。我的在 600 秒后工作
  • 是的,经过很长时间的等待,我的也能正常工作。我试图避免等待。
  • 你有没有找到解决这个问题的方法?
  • 仍然没有解决方案?我也有同样的行为

标签: ssh amazon-ec2 apache-spark


【解决方案1】:

请检查您在 EC2 中的安全组是否打开了 ssh port(22)。

【讨论】:

  • 你如何检查?
  • @romainjouin per aws 文档 docs.aws.amazon.com/AWSEC2/latest/UserGuide/… :在 console.aws.amazon.com/ec2 打开 Amazon EC2 控制台。在导航窗格中,选择实例,然后选择您的实例。在描述选项卡的安全组旁边,选择查看规则以显示有效规则的列表。对于 Linux 实例:验证是否存在允许从您的计算机到端口 22 (SSH) 的流量的规则。
【解决方案2】:

勾选this,必须开启入站ssh流量

【讨论】:

  • 从 spark-ec2 脚本创建的安全组已经启用了 SSH 流量,我也在 E​​C2 控制台中进行了交叉检查
  • 你是否禁用了操作系统防火墙?
【解决方案3】:

请确认,客户端和目标机器上的密钥对名称匹配。

在客户端,它可能存储在 ~/.ssh 的 pem 文件中。 在目标主机上,它可以在 EC2 控制台中看到(单击实例,下一个描述选项卡)。

检查方法不同:使用相同的密钥对启动一个新的 EC2 实例,并使用相应的 pem 文件记录。

请注意安全组。

【讨论】:

    【解决方案4】:

    spark-ec2 脚本build AMIs based on the Amazon Linux base AMI:

    # Creates an AMI for the Spark EC2 scripts starting with a stock Amazon 
    # Linux AMI.
    # This has only been tested with Amazon Linux AMI 2014.03.2 
    

    因此,我认为 SSH 连接延迟/启动缓慢是由于 EC2 实例在创建时应用(或尝试和超时,具体取决于 VPC 配置)关键补丁/安全更新,详见 @987654322 @:

    首次启动时,Amazon Linux AMI 会从包中安装 存储库任何被评为关键的用户空间安全更新 或重要,它会在 SSH 等服务启动之前执行此操作。

    如果 AMI 无法访问 yum 存储库,它将超时并且 在完成引导过程之前重试多次。可能的 原因是限制性防火墙设置或 VPC 设置, 这会阻止访问 Amazon Linux AMI 软件包存储库。

    如果确实如此,那么从应用了所有相关更新的虚拟机创建您自己的 AMI 并使用 --ami 选项调用脚本应该可以解决问题(这可以自动化以保持在一切)。

    根据the FAQ,可以先通过禁用安全更新过程进行测试:

    从 AWS EC2 控制台启动时禁用安全更新:

    在请求实例中的“高级实例选项”页面上 向导,有一个用于发送 Amazon Linux AMI 的文本字段 用户数据。此数据可以作为文本输入,也可以作为文件上传。在 无论哪种情况,数据都应该是:

    #cloud-config
    repo_upgrade: none
    

    从命令行禁用启动时的安全更新:

    使用前面的用户数据创建一个文本文件,并将其传递给 aws 带有 --user-data file://<filename> 标志的 ec2 运行实例(此 也可以使用ec2-run-instances -f)。

    在重新捆绑亚马逊时禁用启动时的安全更新 Linux AMI:

    修改/etc/cloud/cloud.cfg并将repo_upgrade: security改为 repo_upgrade: none.

    【讨论】:

      猜你喜欢
      • 2013-01-30
      • 2014-11-29
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多