amazon-web-services - Spark-EC2无法停止正在运行的集群

标签 amazon-web-services amazon-ec2 apache-spark cluster-computing

使用命令 spark-ec2,我在 AWS-EC2 上的虚拟私有(private)云 (vpc) 内创建了一个名为“ruofan-large-cluster”的集群。该集群包含1个主节点和2个从节点,并且运行良好。现在我想停止集群一段时间,然后重新启动它。但是,当我输入 bash 命令时,如下所示:

$ ./spark-ec2 --region=us-east-1 停止 ruofan-large-cluster

它显示了以下输出:

Are you sure you want to stop the cluster ruofan-large-cluster?
DATA ON EPHEMERAL DISKS WILL BE LOST, BUT THE CLUSTER WILL KEEP USING SPACE ON
AMAZON EBS IF IT IS EBS-BACKED!!
All data on spot-instance slaves will be lost.
Stop cluster ruofan-large-cluster (y/N): y
Searching for existing cluster ruofan-large-cluster in region us-east-1...
Stopping master...
Stopping slaves...

而且它根本没有停止集群...我确信包括我的集群名称和集群区域在内的信息都是正确的,并且我还尝试了以下命令来停止集群:

./spark-ec2 -k <key-file-name> -i <key-file> -r us-east-1 --vpc-id=<my-vpc-id> --subnet-id=<my-subnet-id> stop ruofan-large-cluster

它仍然显示相同的输出,并且没有停止任何集群。真不知道集群为什么不停止。如果有人帮助我解决问题,我将不胜感激。谢谢!

最佳答案

@DanielDarabos 感谢您的评论!我花了几个小时研究这个问题,现在才发现这个bug。实际上,我认为 Spark 官方代码 spark-ec2.py 在识别集群名称方面存在错误,因此我无法停止集群。我使用的是 spark-1.4.0,在大多数情况下,如果我直接在没有 vpc 子网的 AWS 上启动集群,spark-ec2.py 效果很好。但是,如果我在 AWS 上的 vpc 的子网上启动集群,则 spark-ec2.py 无法找到该集群,因此我无法停止 该集群。具体来说,在spark-ec2.py中,有一小段代码如下:

conn = ec2.connect_to_region(opts.region)

每当我们执行启动、登录、停止或销毁集群等操作时,spark-ec2都会首先使用上述代码连接到指定区域,然后通过获取所有满足的实例>reservations =conn.get_all_reservations(filter={一些条件})。如果我直接启动没有 vpc 子网的集群,效果会非常好。如果我的集群位于 vpc 的子网中,则 conn.get_all_reservations() 什么也得不到。刚才我用 `conn = ec2.connect_to_region(opts.region, aws_access_key_id="my_aws_access_key_id", aws_secret_access_key="my_aws_secret_access_key") 修改了原始代码,并且停止、登录、销毁等一切工作都很完美。我仍在弄清楚此修改有效的进一步原因:)

关于amazon-web-services - Spark-EC2无法停止正在运行的集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31910660/

相关文章:

amazon-web-services - AWS Autoscaling Group EC2 实例在 cron 作业期间关闭

apache-spark - Spark-Csv 写引用模式不起作用

python - Spark 请求最大计数

apache-spark - 订购 Pyspark 窗口时缺少数据

amazon-web-services - 通过AWS ECS在一个EC2实例中的多个Docker容器

linux - 无法将文件同步到 AWS : no such file or directory

amazon-ec2 - Angular 5 为 AWS EC2 创建应用程序源包

google-chrome - 浏览器中的 Ec2 公共(public) DNS 和地址 net::ERR_INSECURE_RESPONSE

amazon-web-services - 在 AWS 中管理客户端

typescript - 如何使用 AWS CDK 检查自定义 VPC 是否已存在?