【问题标题】:AWS EMR Error : All slaves in the job flow were terminatedAWS EMR 错误:作业流程中的所有从属设备都已终止
【发布时间】:2013-11-02 05:40:41
【问题描述】:

我在 Amazon AWS 上使用 Elastic Mapreduce 基础设施。 jowflow 自动终止。根据 Amazon 控制台的最后状态更改原因是:“作业流程中的所有从属设备都已终止”。

创建工作流命令:

elastic-mapreduce --create --name MyCluster --alive --instance-group master --instance-type m1.xlarge --instance-count 1 --bid-price 2.0 --instance-group core --instance-type m1.xlarge --instance-count 10 --bid-price 2.0 --hive-interactive  --enable-debugging

关于工作流程的详细信息:

日志的最后几行...

Total MapReduce jobs = 2
Launching Job 1 out of 2
Number of reduce tasks not specified. Estimated from input data size: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapred.reduce.tasks=<number>
Starting Job = job_201310231204_0099, Tracking URL = http://ip-10-197-16-105.us-west-1.compute.internal:9100/jobdetails.jsp?jobid=job_201310231204_0099
Kill Command = /home/hadoop/bin/hadoop job  -Dmapred.job.tracker=10.197.16.105:9001 -kill job_201310231204_0099
2013-10-23 14:11:38,618 Stage-1 map = 0%,  reduce = 0%
2013-10-23 14:11:48,741 Stage-1 map = 100%,  reduce = 0%

正如您在上面的日志中看到的那样,不会引发任何错误。

我认为原因是什么

我认为这是因为现货实例的价格突然上涨而发生的。更多细节在我下面的回答中。

【问题讨论】:

    标签: amazon-web-services hive elastic-map-reduce


    【解决方案1】:

    我在这里回答我自己的问题。

    我认为这是因为 Spot 实例的价格突然上涨。对于 m1.xlarge 实例,我的出价是每个实例每小时 2 美元。

    AWS 控制台 Spot 实例定价快照:

    您可以注意到价格的蓝色跳跃。我的出价是 2 美元,实际价格跃升至 11 美元。因此我的集群被自动杀死了。

    【讨论】:

    • 避免此类问题的策略之一是将主实例和核心实例保持为按需实例,并将任务实例保持为现货。这将保护集群免受价格上涨的影响,但会导致更高的成本。 AWS Datapipeline 使用此策略。
    猜你喜欢
    • 2020-04-29
    • 2020-12-17
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    • 2016-05-29
    • 1970-01-01
    • 2021-02-18
    相关资源
    最近更新 更多