我正在尝试在Amazon EMR集群(m3.2xLarge,10个核心节点)中包含~250万对(行)的输入上运行mahout项目相似性作业。我在运行时遇到Java堆大小错误相似性工作。
我试图解决这个问题。
通过在bootstrap操作中定义名称节点的堆大小来增加它们的大小。就像这样 -
- bootstrap-action s3:// elasticmapreduce / bootstrap-actions / configure-daemons --args --namenode-heap-size = 8192
使用AWS推荐的内存密集型引导程序( s3:// elasticmapreduce / bootstrap-actions / configurations / latest / memory-intensive )
手动设置 MAHOUT_HEAPSIZE 。
问题没有解决。有什么办法可以解决吗?
答案 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.