在Reducer阶段未将完整的VCore用于Hadoop工作

时间:2018-10-25 09:02:37

标签: hadoop mapreduce yarn

我们在hadoop纱线簇中的队列具有以下配置。

Min Resources:  <memory:840  GB, vCores:150, disks:15.0>
Max Resources:  <memory:1320 GB, vCores:240, disks:25.0> 

我提交了一份包含大量输入数据(大小约为1.1 TB)的作业,该作业具有4477 mappers10000 reducers,并具有下面的地图和reduce属性。

mapreduce.map.memory.mb=4096
mapreduce.map.java.opts=-XX:+UseCompressedOops -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -Xmx3276m 
mapreduce.reduce.memory.mb=4096
mapreduce.reduce.java.opts=-XX:+UseCompressedOops -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -Xmx3276m 

这是唯一一个在队列中运行的作业,并且在此作业进行过程中没有其他作业提交。

当作业从mapper阶段开始时,我看到240 cores, 960 GB memory and 22 disks1 core for AM and 239 cores for mappers并行运行。

但是,在减速器阶段开始时,我只看到使用了127 cores, 508 GB memory and 25 disks和126个并行减速器,这低于我们队列的最小资源。

我的问题是,为什么在减速器阶段仅分配127个内核,为什么在映射器阶段不分配整个240个内核?

我需要了解有关磁盘使用情况的信息吗?

0 个答案:

没有答案