为什么Hadoop需要那么多的RAM?

问题描述 投票:1回答:1

Hadoop容器需要更多的RAM,数据大小itsef(我用于测试0.5GB大小的数据)实际上是它的两倍,为什么它太多了?

物理内存和虚拟内存关闭容器的概念是什么:有时你会在物理内存中获得100mb的500mb异常,但虚拟内存中的2.5Gb超过2GB。为什么hadoop超过了虚拟内存限制,只要2 GB基本上足以运行整个操作系统并将我的所有数据保存在RAM内存中,为什么2GB还不够?

hadoop yarn hadoop2 resourcemanager
1个回答
0
投票

基本上,您需要更多RAM,因为您有运行mapper或reducer任务的Java开销。该进程的Java堆+ JVM。

来自Configuring Heapsize for Mappers and Reducers in Hadoop 2的这张照片可能最能解释这一点。

enter image description here

虽然您的数据可能都适合.5 GB(作为示例),Hadoop(Java)中用于表示数据的数据结构使用更多,并且在处理数据时,用于计算结果的临时数据结构将使用更多。而且由于Java使用垃圾收集,所有这些表示可能都在使用堆,直到垃圾收集发生。

© www.soinside.com 2019 - 2024. All rights reserved.