【发布时间】:2017-09-14 09:21:40
【问题描述】:
Hadoop 容器需要的 RAM 比它本身的数据大小(我用于测试 0.5GB 大小的数据)实际上要多一倍,为什么它太多了?
物理内存和容器外的虚拟内存的概念是什么:有时您会遇到异常,例如物理内存中的 100mb 和 500mb,但虚拟内存中的 2.5Gb 超过 2GB。为什么 hadoop 超过了虚拟内存限制,只要 2 GB 基本上足以运行整个操作系统并将我的所有数据保存在 RAM 内存中,为什么 2GB 还不够?
【问题讨论】:
-
我从未见过 RAM 多于存储的 hadoop 集群。您甚至可以购买 4 TB 的 RAM 吗?并将其与单个 4 TB 磁盘放在同一个主板上?
-
@cricket_007 亲爱的仔细阅读我提到的数据大小不是我为测试 0.5GB 数据大小的任务而运行的存储大小。我会提到尺寸以便更清楚。
-
并非所有数据都需要一次存储在内存中,除非您正在运行 Spark 或类似的东西。如果您超出了容器大小,您只需要编辑 yarn 配置文件以了解在您的集群中有意义的内容。我相信 2G 是默认最大值
-
此外,如果您正在测试半场演出,则不需要 hadoop。我 6 岁的笔记本电脑可以处理它;)
-
@cricket_007 谢谢,但我的整个问题是为什么这么多内存?以及为什么只要 2GB 的 RAM 已经专用且数据为 0.5GB,它就会超过内存限制?
标签: hadoop hadoop-yarn hadoop2 resourcemanager