最近在研究Mahout开源代码时尝试利用MapReduce加载本地训练好的机器学习模型至集群并进行分布式预测,整个程序通过Hadoop jar XXXX.jar来执行,
期间由于需要在本地进行模型训练同时训练数据集条目较多模型规模比较大,导致在本地训练模型时JAVA报错:java.error.OutOfMemoryError:Java heap space
遇到问题后尝试通过Idea14的前端配置页面进行配置,无效;尝试在shell中添加-Xmx配置参数,无效;尝试在jdk中更改-Xmx参数,同样无效。
最终在http://bbs.csdn.net/topics/390922318 中找到ID为ramontop1的大神的正确解决方案:
前往hadoop安装目录下的hadoop-env.sh,我的Mac的相应目录路径为$~/hadoop-2.6.1/etc/hadoop/hadoop-env.sh
vi后找到如下的参数配置并添加-Xmx配置:
# Extra Java runtime options. Empty by default.
exp