无法从 S3 加载数据

Failed to load data from S3

我在 amazon ec2 上启动了两个 m1.medium 节点来执行我的 pig 脚本,但看起来它在第一行就失败了(甚至在 MapReduce 启动之前):raw = LOAD 's3n://uw-cse-344-oregon.aws.amazon.com/btc-2010-chunk-000' USING TextLoader as (line:chararray);

我得到的错误信息:

2015-02-04 02:15:39,804 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 1 map-reduce job(s) waiting for submission.
2015-02-04 02:15:39,821 [JobControl] INFO  org.apache.hadoop.mapred.JobClient - Default number of map tasks: null
2015-02-04 02:15:39,822 [JobControl] INFO  org.apache.hadoop.mapred.JobClient - Setting default number of map tasks based on cluster size to : 20
... (omitted)
2015-02-04 02:18:40,955 [main] WARN  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Ooops! Some job has failed! Specify -stop_on_failure if you want Pig to stop immediately on failure.
2015-02-04 02:18:40,956 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - job job_201502040202_0002 has failed! Stop running all dependent jobs
2015-02-04 02:18:40,956 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 100% complete
2015-02-04 02:18:40,997 [main] ERROR org.apache.pig.tools.pigstats.SimplePigStats - ERROR 2997: Unable to recreate exception from backed error: Error: Java heap space
2015-02-04 02:18:40,997 [main] ERROR org.apache.pig.tools.pigstats.PigStatsUtil - 1 map reduce job(s) failed!
2015-02-04 02:18:40,997 [main] INFO  org.apache.pig.tools.pigstats.SimplePigStats - Script Statistics: HadoopVersion    PigVersion  UserId  StartedAt   FinishedAt  Features 1.0.3  0.11.1.1-amzn   hadoop 2015-02-04 02:15:32  2015-02-04 02:18:40 GROUP_BY

Failed!

Failed Jobs:
JobId   Alias   Feature Message Outputs
job_201502050202_0002   ngroup,raw,triples,tt   GROUP_BY,COMBINER   Message: Job failed! Error - # of failed Map Tasks exceeded allowed limit. FailedCount: 1. LastFailedTask: task_201502050202_0002_m_000022

Input(s):
Failed to read data from "s3n://uw-cse-344-oregon.aws.amazon.com/btc-2010-chunk-000"

Output(s):

Counters:
Total records written : 0
Total bytes written : 0
Spillable Memory Manager spill count : 0
Total bags proactively spilled: 0
Total records proactively spilled: 0

我认为代码应该没问题,因为我曾经使用相同的语法成功加载过其他数据,并且 link 到 s3n://uw-cse-344-oregon.aws.amazon.com/btc-2010-chunk-000 看起来有效。我怀疑它可能与我的某些 EC2 设置有关,但不确定如何进一步调查或缩小问题范围。有人有线索吗?

"Java heap space"错误信息给出了一些线索。您的文件似乎很大 (~2GB)。请确保您有足够的内存供每个任务运行器读取数据。

问题目前已通过将我的节点从 m1.medium 更改为 m3.large 解决,感谢来自@Nat 的好提示,因为他指出了关于 java 堆 space 的错误消息。我稍后会更新更多细节。