我对理解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/