【发布时间】:2016-09-03 05:18:39
【问题描述】:
所以我尝试在 AWS R3.4xLarge 机器上运行一些 hadoop 作业。他们有 16 个 vcore 和 122 GB 的可用内存。
我的每个映射器需要大约 8 gg 的内存和一个线程,因此这些机器非常适合这项工作。
我已将 mapreduce.memory.mb 设置为 8192, 并且 mapreduce.map.java.opts 设置为 -Xmx6144 这应该会导致每台机器上运行大约 14 个映射器(实际上接近 12 个)。
这实际上是 2 从属设置的情况,其中调度程序显示集群的利用率为 90%。
但是,当扩展到 4 个从属设备时,hadoop 似乎根本不会创建更多映射器。事实上,它会产生 LESS。
在我的 2 个从站设置中,我有不到 30 个映射器在任何时候运行,在四个从站上我大约有 20 个。机器的利用率略低于 50%。
vcore 在那里,物理内存在那里。到底缺了什么?为什么 hadoop 不创建更多容器?
【问题讨论】:
标签: hadoop memory hadoop-yarn