在 hadoop YARN 上分配了多少内存和 vcore?

How much memory and vcore allocated on hadoop YARN?

我想问一下,在 hadoop yarn 中,在 yarn-site.xml 和 mapred-site.xml 上都有 属性 比如最小和最大内存或 vcore。我有点困惑,实际上分配了多少内存和 vcore 因为在配置上我们只写最小和最大而不是实际大小。

如果我有 16 GB 内存和 4 个 vcore 像这样的配置:

yarn.scheduler.minimum-allocation-mb = 1024
yarn.scheduler.maximum-allocation-mb = 8192
yarn.scheduler.minimum-allocation-vcores = 1
yarn.scheduler.maximum-allocation-vcores = 32
yarn.nodemanager.resource.memory-mb = 8192
yarn.nodemanager.resource.cpu-vcores = 8

所以实际上,我的计算机为一个容器分配了多少内存和 vcore?

就这么多了

YARN 是通用资源管理器,您可以将它用于各种应用程序,如 mapreduce、spark、hive、kafka....

所以在 yarn 中,我们为应用程序可以请求的每个容器定义最小值和最大值 memory/cores,实际所需的内存和内核在特定应用程序中定义。

在 mapreduce 中,我们定义了核心和内存以分配给 mapred-site.xml 中的 map 和 reduce 任务。

<property>
    <name>mapreduce.map.cpu.vcores</name>
    <value>1</value>
</property>

<property>
    <name>mapreduce.reduce.cpu.vcores</name>
    <value>1</value>
</property>

<property>
    <name>mapreduce.map.memory.mb</name>
    <value>6144</value>
    <description>The value specified is in MB(s)</description>
</property>

<property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>6144</value>
    <description>The value specified is in MB(s)</description>
</property>