searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Yarn资源管理参数

2023-09-04 11:31:20
4
0

在 Yarn 中,资源管理由 ResourceManager 和 NodeManager 共同完成。ResourceManager 中的调度器负责资源的分配,将某个 NodeManager 上资源分配给任务,而 NodeManager 则负责资源的供给和隔离,按照要求为任务提供相应的资源。

Hadoop Yarn 同时支持 memory 和 cpu 两种资源的调度。

  • memory 的多少会决定任务的生死,如果内存不够,任务可能会运行失败。
  • cpu 的多少只会决定任务运行的快慢。

1. Memory 资源

Yarn 允许用户配置每个节点上可用的物理内存资源。配置参数主要有:

  • 该节点上Yarn 可使用的物理内存总量,默认是8192(MB),如果设置为-1,并且nodemanager.resource.detect-hardware-capabilities 为true时,将会自动计算操作系统内存进行设置。

yarn.nodemanager.resource.memory-mb

  • 任务每使用1MB 物理内存,最多可使用虚拟内存量,默认是1

yarn.nodemanager.vmem-pmem-ratio

  • 是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true。

yarn.nodemanager.pmem-check-enabled

  • 是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。

yarn.nodemanager.vmem-check-enabled

  • 单个任务可申请的最少物理内存量,默认是 1024(MB),如果一个任务申请的物理内存量少于该值,则该对应的值改为这个数。

yarn.scheduler.minimum-allocation-mb

  • 单个任务可申请的最多物理内存量,默认是8192(MB)

yarn.scheduler.maximum-allocation-mb

2. CPU 资源

在 Yarn 中,CPU 被称为成虚拟 CPU(CPU virtua* Core),是 Yarn 自己引入的概念,考虑到不同节点的 CPU 性能可能不同,每个 CPU 具有的计算能力也是不一样的,使用虚拟CPU作为统一资源单位。用户提交作业时,可以指定每个任务需要的虚拟 CPU 个数。配置参数主要有:

  • 该节点上 Yarn 可使用的虚拟 CPU 个数,默认是8,注意,目前推荐将该值设值为与物理 CPU 核数数目相同。如果你的节点 CPU 核数不够8个,则需要调减小这个值。如果设置为-1,并且nodemanager.resource.detect-hardware-capabilities为true时,将会自动计算操作系统CPU 核数进行设置。

yarn.nodemanager.resource.cpu-vcores

  • 单个任务可申请的最小虚拟 CPU 个数,默认是1,如果一个任务申请的 CPU 个数少于该数,则该对应的值改为这个数。

yarn.scheduler.minimum-allocation-vcores

  • 单个任务可申请的最多虚拟CPU个数,默认是4。

yarn.scheduler.maximum-allocation-vcores

 

0条评论
0 / 1000