请帮助我理解......我正在使用一种内存密集型算法(Mahout上的LDA) . 因为它需要大量的内存,所以我使用了一个5节点的Hadoop cluser,每个都有24GB的RAM .

但是,在运行算法时,我收到此错误:Container [pid = 14275,containerID = container_1458474415429

01_000012]正在超出虚拟内存限制 . 当前用法:使用265.0 MB的1 GB物理内存;使用2.6 GB的2.1 GB虚拟内存 . 杀死容器 .

帮助我理解这一点...... Hadoop如何分配内存?我应该如何设置环境以使用可用的最大内存?我相信Hadoop会将任务分解成更小的任务,因此每个人都使用更少的内存 - 但是,现在看起来很天真 .