【问题标题】:Error with Data Pipeline backup when I transfer my data from DynamoDb to S3当我将数据从 DynamoDb 传输到 S3 时,Data Pipeline 备份出错
【发布时间】:2015-06-12 16:00:43
【问题描述】:

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

private.com.amazonaws.AmazonServiceException:用户: arn:aws:sts::769870455028:假定角色/DataPipelineDefaultResourceRole/i-3678d99c 无权执行:elasticmapreduce:ModifyInstanceGroups (服务:AmazonElasticMapReduce;状态代码:400;错误代码: 访问拒绝异常;请求编号: 9065ea77-0f95-11e5-8f35-39a70915a1ef) 在 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) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 private.com.amazonaws.services.datapipeline.retrier.RetryProxy.invokeInternal(RetryProxy.java:36) 在 private.com.amazonaws.services.datapipeline.retrier.RetryProxy.invoke(RetryProxy.java:48) 在 com.sun.proxy.$Proxy33.modifyInstanceGroups(未知来源) 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) 在 java.lang.Thread.run(Thread.java:745)

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

编辑:新政策

{ “版本”:“2012-10-17”, “陈述”: [ { “效果”:“允许”, “行动”: [ "s3:", "dynamodb:", “ec2:描述*”, “elasticmapreduce:描述*”, "elasticmapreduce:ListInstance*", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:", "rds:描述", "数据管道:", "cloudwatch:", "redshift:DescribeClusters", "redshift:DescribeClusterSecurityGroups", "sdb:", "sns:", “平方:” ], “资源”:[ “” ] } ]

这是新的例外:

Error during job, obtaining debugging information... Examining task ID: task_1434014832347_0001_m_000008 (and more) from job job_1434014832347_0001 Examining task ID: task_1434014832347_0001_m_000013 (and more) from job job_1434014832347_0001 Examining task ID: task_1434014832347_0001_m_000005 (and more) from job job_1434014832347_0001 Examining task ID: task_1434014832347_0001_m_000034 (and more) from job job_1434014832347_0001 Examining task ID: task_1434014832347_0001_m_000044 (and more) from job job_1434014832347_0001 Examining task ID: task_1434014832347_0001_m_000004 (and more) from job job_1434014832347_0001 Task with the most failures(4): ----- Task ID:task_1434014832347_0001_m_000002 URL: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 作业返回代码 2

【问题讨论】:

  • 你能分享你的管道ID吗?谢谢
  • 您在编辑中发布的政策似乎是一个错字。 “弹性映射减少:”。不应该是 ""elasticmapreduce:*"
  • 这是一个查看错误(当我想纠正它时,我看到了正确的值),但昨天我遇到了上述异常(更新了第一篇文章)

标签: amazon-web-services amazon-s3 backup amazon-dynamodb amazon-data-pipeline


【解决方案1】:

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

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

我发现它不允许 ModifyInstanceGroups。
请更新您的资源角色政策以允许这样做。例如,,"elasticmapreduce:*"

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

阿拉文德·R.

【讨论】:

  • 感谢您的回复。现在我运行 id 为 df-06906701V4O8V298WMPJ 的管道。旧管道已删除。 dynamoDB 表很大,所以当备份完成时,我会更新你。现在我在第一篇文章中使用该政策:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 2016-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多