You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动EC2集群实例时遭遇子进程错误

解决Spark-EC2启动时Git克隆协议版本不兼容问题

问题核心

执行Spark-EC2集群启动命令时卡在"Waiting for cluster to enter 'ssh-ready' state",终端输出关键错误:

error: Peer reports incompatible or unsupported protocol version. while accessing https://github.com/amplab/spark-ec2/info/refs?service=git-upload-pack
fatal: HTTP request failed

原因是GitHub已停止支持TLS 1.0/1.1协议,而Spark-EC2默认使用的EC2实例镜像中,Git和OpenSSL版本过低,无法建立符合要求的SSL连接。

解决方案

1. 手动登录EC2主节点并升级依赖

首先通过SSH连接到集群主节点:

ssh -i ru_spark.pem root@ec2-52-87-225-32.compute-1.amazonaws.com

根据实例操作系统执行升级命令:

  • Amazon Linux(Spark-EC2默认镜像):
    yum update openssl -y
    yum update git -y
    
  • Ubuntu(若使用自定义镜像):
    apt-get update && apt-get install --only-upgrade openssl git -y
    

升级完成后验证版本:

git --version  # 需达到2.18及以上
openssl version  # 需支持TLS 1.2(版本1.0.1g+)

2. 强制Git使用TLS 1.2协议

在主节点执行以下命令,配置Git全局使用TLS 1.2:

git config --global http.sslVersion tlsv1.2

或者直接修改Git配置文件:

echo "http.sslVersion = tlsv1.2" >> ~/.gitconfig

3. 重新执行克隆命令

在主节点手动完成Spark-EC2脚本的克隆:

rm -rf spark-ec2 && git clone https://github.com/amplab/spark-ec2 -b branch-1.6 spark-ec2

确认克隆成功后,退出SSH连接,回到本地重新运行Spark-EC2的launch命令即可继续集群部署。

4. 长期解决方案:使用自定义AMI

如果频繁部署Spark集群,可提前创建自定义AMI:

  • 启动一个基础EC2实例,完成Git和OpenSSL的升级配置
  • 将实例创建为自定义AMI
  • 后续启动集群时,通过--ami参数指定该自定义镜像,避免每次手动升级

内容的提问来源于stack exchange,提问作者coder_7777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:15:30