关于EMR的Mahout错误:Java堆空间

时间:2012-09-29 11:13:45

标签: java hadoop amazon-web-services mahout emr

我在EMR上运行了一个集群工作。 数据集很大。一切都运作良好,直到:

2012-09-29 10:50:58,063 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 23%
2012-09-29 10:51:31,157 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 24%
2012-09-29 10:51:50,197 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 25%
2012-09-29 10:52:17,236 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 26%
2012-09-29 10:52:41,270 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 27%
2012-09-29 10:53:08,350 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 28%
2012-09-29 10:53:29,377 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 29%
2012-09-29 10:53:54,411 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 30%
2012-09-29 10:54:21,448 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 31%
2012-09-29 10:54:48,486 INFO org.apache.hadoop.mapred.JobClient (main):  map 100% reduce 32%
Error: Java heap space
attempt_201209271139_0004_r_000000_0: SLF4J: Class path contains multiple SLF4J bindings.
attempt_201209271139_0004_r_000000_0: SLF4J: Found binding in [jar:file:/home/hadoop/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
attempt_201209271139_0004_r_000000_0: SLF4J: Found binding in [jar:file:/mnt/var/lib/hadoop/mapred/taskTracker/hadoop/jobcache/job_201209271139_0004/jars/job.jar!/org/slf4j/impl/StaticLoggerBinder.class]
attempt_201209271139_0004_r_000000_0: SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

因此。基本问题是如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我创建了m1.large实例而不是m1.small并运行了s3:// elasticmapreduce / bootstrap-actions / configurations / latest / memory-intensive bootstrap操作。它有所帮助。

因此。我在我的作业流程创建cmd行中添加了两行:

> --master-instance-type m1.large --slave-instance-type m1.large \
> --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configurations/latest/memory-intensive

那就是。