我对理解YARN配置有问题。
我在yarn / mapreduce配置中有这样的行:

<name>mapreduce.map.memory.mb</name>
<value>2048</value>

<name>mapreduce.reduce.memory.mb</name>
<value>1024</value>

<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>

Here写道:



什么时候NodeManager会杀死我的容器?
当整个容器达到2048MB * 2.1 = 4300,8MB时?或1024MB * 2.1 = 2150,4MB

我可以得到更好的解释吗?

最佳答案

每个Mapper和Reducer都在自己的单独容器中运行(除非是Uber作业,否则容器在Mappers和Reducers之间不会共享。请在此处检查有关Uber模式的信息:What is the purpose of "uber mode" in hadoop?)。

通常,Mapper和Reducer的内存要求会有所不同。

因此,Mapper(mapreduce.map.memory.mb)和Reducer(mapreduce.reduce.memory.mb)有不同的配置参数。

因此,根据yarn-site.xml中的设置,Mapper和Redcuer的虚拟内存限制为:

Mapper limit: 2048 * 2.1 = 4300.8 MB

Reducer limit: 1024 * 2.1 = 2150.4 MB

简而言之,Mapper和Reducer具有不同的内存设置和限制。

关于hadoop - YARN的内存终止限制问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39016450/

10-10 17:47