在创建了Amazon,my_bucket之后,我通过cli创建了一个弹性地图减少集群:
创建-集群-名为"Hive测试“--ami-version 3.3 --应用程序Name=Hive --使用默认角色--实例类型m3.xlarge -实例-count 3-steps Type=Hive,Name="Hive Program",Args=-d,emr =s3://my_bucket/input,d.OUTPUT=S3://my_bucket/input,-d-LIBS=s3://my_bucket/serde_libs
注意,我没有指定hive *.q文件。生成S3和EMR群集后,我将登录到EMR框,然后以交互方式运行hive。
注意-我假设有一个电子病历箱,我可以登录。
但是,当我运行aws emr describe-cluster --cluster-id XYZ时,在输出中看到了这个错误:
"State": "TERMINATED_WITH_ERRORS",
"StateChangeReason": {
"Message": "EMR service role arn:aws:iam::xyz:role/EMR_DefaultRole
is invalid",
"Code": "VALIDATION_ERROR"
}是什么导致了这个错误?是否需要为EMR集群打开S3桶上的权限才能访问它?
发布于 2015-01-16 02:39:01
问题不在于桶,而是缺少预期的IAM角色。
请参阅http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-iam-roles-creatingroles.html#emr-iam-roles-createdefaultwithcli
发出AWS CLI命令:
aws emr create-default-roles 然后再次创建集群。这是创建默认角色所需的一次性步骤。
发布于 2017-11-21 06:21:08
当您创建自定义服务角色并分配错误的主体服务时,我看到了这个问题。
此示例将生成该错误:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Effect": "Allow",
"Sid": "Invalid"
}
]
}这个例子不会:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "elasticmapreduce.amazonaws.com"
},
"Effect": "Allow",
"Sid": "Valid"
}
]
}有关更多信息,请参见此处:http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-mgmt.pdf#emr-plan-access-iam
https://stackoverflow.com/questions/27953582
复制相似问题