亚马逊云科技 - 将数据从 DynamoDb 传输到 S3 时出现数据管道备份错误



我必须将我的 DynamoDb 表备份到 S3 中,但是当我启动此服务时,我在三次尝试后收到此错误:

private.com.amazonaws.AmazonServiceException: User: arn:aws:sts::769870455028:assumed-role/DataPipelineDefaultResourceRole/i-3678d99c 无权执行:elasticmapreduce:ModifyInstanceGroups (服务:AmazonElasticMapReduce;状态代码:400;错误代码: 访问被拒绝异常;请求 ID: 9065ea77-0f95-11e5-8f35-39a70915a1ef) at private.com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1077) 在 private.com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:725) 在 private.com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:460) 在 private.com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:295) 在 private.com.amazonaws.services.elasticmapreduce.AmazonElasticMapReduceClient.invoke(AmazonElasticMapReduceClient.java:1391) 在 private.com.amazonaws.services.elasticmapreduce.AmazonElasticMapReduceClient.modifyInstanceGroups(AmazonElasticMapReduceClient.java:785) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at private.com.amazonaws.services.datapipeline.retrier.RetryProxy.invokeInternal(RetryProxy.java:36) 在 private.com.amazonaws.services.datapipeline.retrier.RetryProxy.invoke(RetryProxy.java:48) at com.sun.proxy.$Proxy 33.modifyInstanceGroups(Unknown Source) at amazonaws.datapipeline.cluster.EmrUtil.acquireCoreNodes(EmrUtil.java:325) 在 amazonaws.datapipeline.activity.AbstractClusterActivity.resizeIfRequired(AbstractClusterActivity.java:47) 在 amazonaws.datapipeline.activity.AbstractHiveActivity.runActivity(AbstractHiveActivity.java:113) 在 amazonaws.datapipeline.objects.AbstractActivity.run(AbstractActivity.java:16) 在 amazonaws.datapipeline.taskrunner.TaskPoller.executeRemoteRunner(TaskPoller.java:132) 在 amazonaws.datapipeline.taskrunner.TaskPoller.executeTask(TaskPoller.java:101) 在 amazonaws.datapipeline.taskrunner.TaskPoller$1.run(TaskPoller.java:77) 在 private.com.amazonaws.services.datapipeline.poller.PollWorker.executeWork(PollWorker.java:76) 在 private.com.amazonaws.services.datapipeline.poller.PollWorker.run(PollWorker.java:53) at java.lang.Thread.run(Thread.java:745)

如何进行备份?有人有这个错误吗?谢谢

编辑:新政策

{ "版本": "2012-10-17", "声明":[ { "效果": "允许", "操作":[ "S3:", "dynamodb:", "ec2:描述*", "elasticmapreduce:Describe*", "elasticmapreduce:ListInstance*", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:", "RDS:描述", "数据管道:", "云监视:", "红移:描述集群", "redshift:DescribeClusterSecurityGroups", "SDB:", "SNS:", "sqs:" ], "资源":[ "" ] } ]

这是新的例外:

作业期间出错,正在获取调试信息...检查任务 ID:作业job_1434014832347_0001中的task_1434014832347_0001_m_000008(及更多) 检查任务 ID:作业job_1434014832347_0001中的task_1434014832347_0001_m_000013(及更多) 检查任务 ID:作业job_1434014832347_0001中的task_1434014832347_0001_m_000005(及更多) 检查任务 ID:作业job_1434014832347_0001中的task_1434014832347_0001_m_000034(及更多) 检查任务 ID: 作业job_1434014832347_0001中的task_1434014832347_0001_m_000044(以及更多) 检查任务 ID: task_1434014832347_0001_m_000004(及更多) 来自作业 job_1434014832347_0001 失败次数最多的任务(4): ----- 任务 ID: task_1434014832347_0001_m_000002 网址: http://ip-10-37-138-149.eu-west-1.compute.internal:9026/taskdetails.jsp?jobid=job_1434014832347_0001&tipid=task_1434014832347_0001_m_000002 ----- 此任务的诊断消息: 错误:Java 堆空间失败:执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask MapReduce Jobs 返回代码 2

在 EMR 集群上运行的数据管道代理 (TaskRunner) 正在尝试调整 EMR 集群的大小,但失败了。您传递给 EMR 集群的资源角色无权调用以下 API AmazonElasticMapReduce::modifyInstanceGroups。

我刚刚查看了 DefaultResourceRolePolicy,它是使用控制台中的向导创建的,(http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html )以下是 emr 允许的策略: "elasticmapreduce:Describe*", "elasticmapreduce:ListInstance*", "elasticmapreduce:AddJobFlowSteps"

我发现它不允许修改实例组。
请更新资源角色策略以允许这样做。例如,"elasticmapreduce:*"

感谢您报告此错误。同时,我们将致力于修复控制台向导生成的默认资源角色策略。

阿拉文德·

相关内容

  • 没有找到相关文章

最新更新