请帮助我理解。。。我使用的是非常内存密集型的算法(mahout上的lda)。因为它需要大量的内存,所以我使用了一个5节点的hadoop集群,每个集群有24gb的ram。
但是,在运行算法时,我得到了这个错误:container[pid=14275,containerid=container\u 1458474415429\u 0004\u 01\u 000012]超出了虚拟内存限制。当前使用情况:使用265.0 mb的1 gb物理内存;使用了2.6 gb的2.1 gb虚拟内存。杀人容器。
帮我理解这个。。。hadoop如何分配内存?我应该如何设置环境以使用最大可能的可用内存?我相信hadoop会把任务分解成更小的任务,因此每个任务都会占用更少的内存——然而,现在看来这很幼稚。
暂无答案!
目前还没有任何答案,快来回答吧!