在Amazon EMR上运行mahout项目相似性作业时出现Java堆空间错误

时间:2015-01-06 10:01:09

标签: java mahout amazon-emr mahout-recommender

我正在尝试在Amazon EMR集群(m3.2xLarge,10个核心节点)中包含~250万对(行)的输入上运行mahout项目相似性作业。我在运行时遇到Java堆大小错误相似性工作。

我试图解决这个问题。

  1. 通过在bootstrap操作中定义名称节点的堆大小来增加它们的大小。就像这样 -
    - bootstrap-action s3:// elasticmapreduce / bootstrap-actions / configure-daemons --args --namenode-heap-size = 8192

  2. 使用AWS推荐的内存密集型引导程序( s3:// elasticmapreduce / bootstrap-actions / configurations / latest / memory-intensive

  3. 手动设置 MAHOUT_HEAPSIZE

  4. 问题没有解决。有什么办法可以解决吗?

1 个答案:

答案 0 :(得分:2)

很少需要在EMR上更改默认的namenode守护程序堆大小,更有可能需要调整容器/任务jvm(http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/TaskConfiguration_H2.html)。

在进行进一步更改之前,您需要确定实际遭受堆错误的进程,然后进行相应调整。

如果它确实是容器/任务jvm堆,那么可以使用configure-hadoop(http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html#PredefinedbootstrapActions_ConfigureHadoop)进行调整。

同时删除内存密集型引导操作,它仅适用于AMI 1.x.