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

在俄亥俄(us-east-2)区域运行spark-ec2-branch-2脚本建集群报错求助

解决Spark-EC2脚本在俄亥俄(us-east-2)区域创建集群的连接错误

看起来你遇到的核心问题是spark-ec2脚本没能成功建立与AWS俄亥俄区域(us-east-2)的API连接,导致conn对象为None,进而触发了AttributeError。结合你之前在其他区域成功的经验,我整理了几个针对性的排查和解决步骤:

问题回顾

你执行的创建命令:

./spark-ec2 --key-pair=ohio --identity-file=ohio.pem --region=us-east-2 --zone=us-east-2c --vpc-id=vpc-1906ca71 --subnet-id=subnet-26e2ae6b --instance-type=t2.micro -s 1 launch ohio_cluster

报错信息:

Setting up security groups...
Traceback (most recent call last):
File "./spark_ec2.py", line 1573, in
main()
File "./spark_ec2.py", line 1565, in main
real_main()
File "./spark_ec2.py", line 1394, in real_main
(master_nodes, slave_nodes) = launch_cluster(conn, opts, cluster_name)
File "./spark_ec2.py", line 523, in launch_cluster
master_group = get_or_make_group(conn, cluster_name + "-master", opts.vpc_id)
File "./spark_ec2.py", line 371, in get_or_make_group
groups = conn.get_all_security_groups()
AttributeError: 'NoneType' object has no attribute 'get_all_security_groups'


排查与解决步骤

1. 确认脚本是否支持us-east-2区域

俄亥俄区域(us-east-2)是2016年推出的,旧版本的spark-ec2-branch-2可能没把这个区域加入到内置的区域列表里。你可以:

  • 升级脚本:切换到Spark 2.x分支的最新维护版本,官方后续更新的脚本已经添加了对us-east-2的支持。
  • 手动修改脚本:如果不想升级,打开spark_ec2.py找到定义AWS区域端点的字典(通常叫AWS_REGION_ENDPOINTS),添加us-east-2的条目:
    AWS_REGION_ENDPOINTS = {
        # ... 保留其他已有的区域
        'us-east-2': 'ec2.us-east-2.amazonaws.com',
    }
    
    保存后重新执行创建命令试试。

2. 验证AWS凭证对us-east-2的访问权限

虽然你在其他区域能用,但还是要确认凭证能访问us-east-2:

  • 检查~/.aws/config文件,确保默认区域或配置包含us-east-2:
    [default]
    region = us-east-2
    
  • 用AWS CLI测试连接:
    aws ec2 describe-security-groups --region us-east-2
    
    如果这个命令能正常返回结果,说明凭证和权限没问题;如果报错,就需要检查IAM角色权限或者凭证的有效性。

3. 核对VPC和子网参数的正确性

再仔细确认一遍VPC和子网的配置:

  • 子网subnet-26e2ae6b确实属于VPCvpc-1906ca71,且位于us-east-2c可用区
  • 你的AWS账号在这个VPC下有创建安全组的权限
  • 子网的网络ACL和关联的安全组允许出站HTTPS请求(脚本需要调用AWS API,依赖这个)

4. 临时 workaround:显式指定EC2端点

如果脚本还是识别不了us-east-2,可以在命令里直接指定区域的EC2端点:

./spark-ec2 --key-pair=ohio --identity-file=ohio.pem --region=us-east-2 --zone=us-east-2c --vpc-id=vpc-1906ca71 --subnet-id=subnet-26e2ae6b --instance-type=t2.micro -s 1 --ec2-endpoint=ec2.us-east-2.amazonaws.com launch ohio_cluster

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:37:42