影响yarn资源调优的6个参数

本文详细介绍了YARN的内存和CPU参数。内存参数包括节点可使用内存总数、单个任务最小和最大申请内存大小;CPU参数涵盖节点可使用虚拟CPU个数、单个任务最小和最大申请虚拟CPU个数。还给出示例,强调资源应最大化利用,且内存不够会自动累加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内存参数

  • yarn.nodemanager.resource.memory-mb

    表示该节点上YARN可使用的内存总数,默认是8G

  • yarn.scheduler.minimum-allocation-mb

    单个任务可申请的最小的内存大小,默认是1G,当内存不够时,会自动按照一定大小累加内存。

  • yarn.scheduler.maximum-allocation-mb
    单个任务可申请的最大的内存大小,默认是8G

cpu参数

  • yarn.nodemanager.resource.cpu-vcores
    表示该节点上YARN可使用的虚拟CPU个数,默认是8,注意,目前推荐将该值设值为与物理CPU核数数目相同。如果你的节点CPU核数不够8个,则需要调减小这个值,而YARN不会智能的探测节点的物理CPU总数。

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

  • yarn.scheduler.maximum-allocation-vcores
    单个任务可申请的最多虚拟CPU个数,默认是4。

注意:这里说的cpu个数都是说的虚拟cpu,默认的是1个物理cpu=2个虚拟cpu

例如

机器的物理配置 64G 16cores,但系统可能实际内存实际只能看到62G
预留15~20%,大概12G(这里必须要预留)
12G: DN 4G + NM 1G=5G 7G
62*80%=50G 计算

yarn.nodemanager.resource.memory-mb : 50G  计算总内存
yarn.nodemanager.resource.cpu-vcores : 32

yarn.scheduler.minimum-allocation-mb : 2G       25个C
yarn.scheduler.minimum-allocation-vcores: 1    32个C

yarn.scheduler.maximum-allocation-mb : 8G       6个C
yarn.scheduler.maximum-allocation-vcores : 4    8个C  
一个container的core 正常最大不要超过5  cloudera规定

这里有两个值可以确定,就是最大4个cpu,和内存总使用数时50G,其余四个参数可以根据业务实际情况做调整,反正始终记住:资源最大化利用 并不是100利用 而是让剩余越来越少 。
注意:只见过内存不够的时候 会自动累加,没有见过vcore不够的时候 会自动累加 , 是启动的指定的 spark executor-cores

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值