我正在尝试在我在开发AWS实例中创建的EC2上启动Spark群集。我能够使用AWSCLI作为ec2-user成功连接到EC2实例。我使用现有的VPC和AMI来创建这个EC2。解压缩EC2上的Spark文件并使用私钥尝试使用以下命令启动集群:
导出AWS_SECRET_ACCESS_KEY = xxx
导出AWS_ACCESS_KEY_ID = xxx
/home/ec2-user/spark-1.2.0/ec2$ ./spark-ec2 -k test -i /home/ec2-user/identity_files/test.pem launch test-spark-cluster
得到错误:
boto.exception.EC2ResponseError:EC2ResponseError:400 Bad Request
InvalidKeyPair.NotFound
密钥对'test'不存在xxx
我想,这可能是由于地区问题,所以我在启动spark时使用了region和zone参数
/home/ec2-user/spark-1.2.0/ec2$ ./spark-ec2 -k test -i /home/ec2-user/identity_files/test.pem -r us-west-2 -z us -west-2a启动test-spark-cluster
然而,当我运行它时,我遇到了一个不同的错误:
boto.exception.EC2ResponseError:EC2ResponseError:400 Bad Request
VPCIdNotSpecified
此userxxx的默认VPC
如何解决此问题?