关于对纱线容器的了解

时间:2018-09-04 12:32:30

标签: hadoop hive mapreduce yarn

我有一个集群,其中有1个主节点和4个从节点。这是我的配置:
nodemanager

  • yarn.nodemanager.resource.memory-mb = 13.5G

容器

  • yarn.scheduler.minimum-allocation-mb = 32M
  • yarn.scheduler.maximum-allocation-mb = 13.5G

mapreduce:

  • mapreduce.map.memory.mb = 1696M
  • mapreduce.map.java.opts = -Xmx1356m
  • mapreduce.reduce.memory.mb = 3392M
  • mapreduce.reduce.java.opts = -Xmx2713m

我运行一个简单的配置单元查询:

select count(1) from my_table;

mapperreducer

我得到189个映射器和1个减少器。
containers
192个容器。
以我的理解,containers = sum(mappers,reduces,appmaster),但是mappers + reducers = 190,2个appmasters?
另一个问题是,我的表在HDFS中有比189大得多的许多文件。据我了解,输入文件=映射器,但不是。所以我想文件在输入之前就已经合并了。如何获得输入文件的大小?
我找到一个设置:

mapred.max.split.size=256000000

但189 * 256MB!= 52GB(HDFS中的表大小)。实际上,我设置了mapred.max.split.size = 2048000000,并且映射器的数量更改为27。我想知道它是如何工作的。
最后一个问题是,我想知道这种形式的含义:
form

我希望你能理解我说的话。非常感谢你!

0 个答案:

没有答案